Variable Data Marking Unit with Multiple Connection Modes
Patent Information
- Application Number
- JP2024548653
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-16
- Filing Date
- 2023-02-16
- Publication Date
- 2026-02-20
AI Technical Summary
Industrial marking units, such as printers, face communication challenges that hinder data collection and implementation of corrective measures, leading to suboptimal printer connection rates and trust issues in remote problem detection and correction.
A marking unit with multiple interface modules, including wired Ethernet, wireless Wi-Fi, and cellular data modules, is configured to automatically select the best communication interface based on availability and communication category, ensuring reliable data transmission and reception.
The solution enhances communication success rates, allowing for efficient data collection and implementation of corrective measures, thereby improving the reliability and trustworthiness of remote monitoring and support systems.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a variable data marking unit with multiple connection modes.
[0002] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Application No. 63 / 310,820, entitled "VARIABLE DATA MARKING UNIT WITH MULTIPLE CONNECTIVITY MODES," filed February 16, 2022, the contents of which are incorporated herein by reference in their entirety. [Background technology]
[0003] Industrial marking units, including printers (e.g., Videojet Technologies inkjet printers or thermal transfer printers) configured to apply ink to a surface of a product or product package or laser marking modules configured to ablate a surface of a product or product package, are used in production line printing to mark the product or product package with information related to the product. Some such marking units are configured to print variable data content on the product or product package, such as, but not limited to, a date (e.g., a packaging date, an expiration date, or a "best by" date), an identification code (e.g., corresponding to a product lot or batch, a particular manufacturing line or unit in which the product was produced), and / or a production time for product tracking purposes.
[0004] The marking units described above are sophisticated devices with many components. For example, in the case of an inkjet printer, some components fill the ink mixture, while others apply an electric field to control the movement of droplets of the refill fluid to form the desired pattern on the product or product packaging. These marking units can include various sensors to monitor sensor values associated with one or more components of the unit. For example, sensors in the printhead of the printer can be used to monitor the temperature of the printhead or to monitor the temperature of the printhead components. Temperatures above the desired printhead temperature can lead to excessive consumption of solvents, which directly affects the viscosity of the ink. For this reason, sensors can be provided in the ink supply of the printer to monitor the viscosity of the ink. Furthermore, ink level sensors can be provided to monitor the level of ink remaining in the ink supply tank or ink refill tank.
[0005] Additionally, the controller of the marking unit may be configured to generate warnings generated by the sensors or warning-based sensor values. Additionally, in some marking units, user interface data and event data are generated. For example, user interface data may include print enable / disable data, which may include the date and time when the printer is enabled and then disabled by an operator, or the date and time of one or more printhead cleaning operations. Other data used in industrial printers include values of user-set parameters such as production line speed, image height and width, printhead to substrate distance, and actual printhead temperature.
[0006] The average inkjet printer may periodically experience breakdowns due to avoidable issues, such as low consumables (ink) or lack of attention to preventive maintenance. While many breakdowns can be resolved without assistance from the printer manufacturer, not all problems experienced on a daily basis are due to breakdowns, and some may be due to incorrect configuration by the end user. Printers tend to be scattered throughout the manufacturing site, often in inconvenient locations. While a maintenance team may be located nearby, they are not always on the production floor, and the printer may not be the primary concern of the maintenance staff. Often, when a malfunction occurs, the printer is replaced and brought to the shop for repair, rather than repaired on the floor.
[0007] To overcome some of the problems inherent in the use of such printers, commonly assigned U.S. Pat. No. 9,524,132 ("System and Method for Remotely Servicing an Industrial Printer"), which is incorporated herein by reference for all purposes, discloses a system configured to communicate telemetered sensor and parameter setting data related to the operation of industrial printer components. The system described herein includes one or more instances of a communication interface that may be coupled to a communication network via a wire or wireless link. As described herein, sensor data is communicated via the communication interface from a location where the industrial printer is located to a remote processor, which can identify a service issue based in part on the sensor data, determine an action to be taken on the industrial printer in response to the service issue, and initiate the action. Additionally, the printer can receive software updates via the communication interface. The remote processor collects data acquired over a period of time from multiple different industrial printers located at multiple different sites, and uses the data to derive historical data used to diagnose the problem.
[0008] In addition to transmitting telemetry data or receiving software updates, a marking unit configured to mark products with variable data must receive communication regarding the variable data to be printed from a processor, computer memory, or a user interface, or combinations thereof (including but not limited to).
[0009] A manufacturing site may have a local wired (e.g., LAN or Ethernet) or wireless (e.g., Wi-Fi®) network for communication of information related to the operation of the manufacturing process, but may wish to keep that network dedicated to the use of the manufacturing site operators for any of a number of reasons. For example, communication traffic such as telemetry and software download information to and from printers can take up valuable bandwidth needed for other communications. Any device that communicates outside the local network can be a conduit for hacking or virus infection and is a potential security threat. Thus, some manufacturing sites may restrict or prohibit certain equipment from communicating over the manufacturing site network. Additionally, communication systems may occasionally suffer power outages that prevent communication. Additionally, network changes or security changes within the factory may render previous printer communication settings unusable. Also, printer maintenance may require printers to be replaced and printers may not be reconnected when relocated. Thus, printer manufacturers that rely on factory maintenance and IT groups responsible for setting up printers to mark products, even if they are not connected to the network and / or do not transmit telemetry data, may miss out on a lot of data that could be collected. Suboptimal printer connection rates can lead to a lack of confidence in the field's ability to detect and correct problems remotely.
[0010] Thus, communications failures can impede the ability to gather data that could be useful in diagnosing problems with printers used at a particular site, as well as with printers used at unrelated sites, and can also impede the ability to implement corrective measures or software updates. Difficulties in configuring communications protocols can prevent proper configuration from the moment of installation. [Prior art documents] [Patent documents]
[0011] [Patent Document 1] U.S. Pat. No. 9,524,132 Summary of the Invention [Problem to be solved by the invention]
[0012] Therefore, there is a need in the art to provide industrial process equipment, such as marking units, such as printers, with communication protocols that maximize the chances of successful communication. [Means for solving the problem]
[0013] One aspect of the present invention relates to a marking unit configured to mark a product or product package with variable data content. The marking unit includes a marker module configured to mark a product or product package according to the variable data content, at least one computer processor connected to at least one computer memory and the marker module, one or more sensors connected to the computer processor and / or the computer memory, and a plurality of interface modules configured to connect to a global computer network. The computer memory is programmed with machine-readable instructions to cause the marker module to mark the variable data content on the product or product package. Each sensor is configured to generate monitoring data related to at least one operating variable of the marker module, and the machine-readable instructions include at least instructions for causing one computer processor to generate telemetry data corresponding at least in part to the monitoring data. The plurality of interface modules include a wired Ethernet connection module configured to connect by wire to an external router connected to the global computer network, a wireless WI-FI module configured to connect wirelessly to an external router connected to the global computer network, and a cellular data module configured to connect wirelessly directly to the global computer network via the on-board router. The one or more communication ports are coupled to at least one computer processor and to at least one of the plurality of interface modules. The machine readable instructions include instructions for transmitting and receiving communications and for determining which of the plurality of interface modules to use for transmitting or receiving each communication based on a category of the communication and the availability of each of the plurality of interface modules.The communications are defined by a category selected from the group consisting of: (i) sending telemetry data to a telemetry data collection / remote support node; (ii) receiving remote support communications from a telemetry data collection / remote support node; (iii) receiving machine-readable instruction updates; and (iv) receiving variable data content.
[0014] A marking unit interface module may be considered available if it has an active connection to the Internet and the marking unit has permission to use the interface module. The instructions for selecting which of the multiple interface modules to use may include logic configured to cause a preferential selection of the cellular data module for transmitting telemetry data and receiving updates to the machine-readable instructions. The instructions for selecting which of the multiple interface modules to use may include logic configured to cause a preferential selection of one of the interface modules other than the cellular data module when receiving variable data content. In an embodiment, the marking unit may be configured to simultaneously send and receive communications across two or more of the multiple interface modules. The marking unit may include a housing, and the multiple interface modules may be on-board modules housed within the housing. Additionally, the monitoring data may include one or more parameter settings corresponding to the marking modules.
[0015] In an embodiment, the marker module may be a laser marking module configured to ablate a surface of the product or product packaging in accordance with the variable data content, or a printer marking module configured to apply ink to a surface of the product or product packaging in accordance with the variable data content, for example a thermal transfer printer or an inkjet printer, such as a continuous inkjet printer or a thermal inkjet printer.
[0016] Another aspect of the invention relates to a method of marking variable data content on a product or product packaging with a marking unit, the marking unit having a processor programmed with machine-readable instructions and a plurality of communication interface modules. The method includes the step of the marking unit transmitting or receiving one or more communications via one or more of the plurality of communication interface modules, the one or more communications being defined by a category selected from the group consisting of: (a) transmitting telemetry data to a telemetry data collection / remote support node, (b) receiving remote support communications from a telemetry data collection / remote support node, (c) receiving machine-readable instruction updates, and (d) receiving variable data content. The marking unit determines which communication interface modules of the plurality of communication interface modules are available, selects which of the plurality of communication interface modules to use for transmitting and receiving each communication based on the determination of the category of each communication and which communication interface modules of the plurality of communication interface modules are available, receives the variable data content, and marks the product or product packaging according to the received variable data content. Each of the multiple communication interface modules may be considered available if it has an active connection to the Internet and the marking unit has permission to use that communication interface module.
[0017] In an embodiment, the plurality of communication interface modules includes at least two of: a wired Ethernet connection module configured to connect via wire to an external router connected to the global computer network; a wireless WI-FI module configured to connect wirelessly to an external router connected to the global computer network; and a cellular data module configured to connect wirelessly directly to the global computer network via an on-board router. Selecting which of the plurality of communication interface modules to use may include preferentially selecting the cellular data module for transmitting telemetry data, receiving / transmitting remote support communications, and receiving machine-readable instruction updates. In some embodiments, selecting which of the plurality of interface modules to use includes preferentially selecting one of the communication interface modules other than the cellular data module for receiving variable data content. The method may include transmitting and receiving communications simultaneously across two or more of the plurality of interface modules.
[0018] Marking the product or product package may include ablating a surface of the product or product package via a laser in accordance with the variable data content or applying ink to the surface of the product or product package in accordance with the variable data content. The method may further include receiving and processing the telemetry data at a remote processor, identifying a remote support communication for the marking unit based at least in part on the telemetry data, and transmitting a remote support communication to the marking unit via a telemetry data collection / remote support node. Processing the telemetry data may include performing predictive analysis, and the remote support communication may include a service communication based on the predictive analysis of the telemetry data. The method may include receiving an update of the machine readable instructions and updating the machine readable instructions, optionally storing the machine readable instructions in a computer memory associated with the marking unit computer processor and updating the machine readable instructions at a time when the marking unit is not actively engaged in a marking operation, or the marking unit computer processor prompting a user for authorization and / or a designated time and date for performing the update of the machine readable instructions via a user interface associated with the marking unit.
[0019] An embodiment of the method may include receiving an incoming call notification and simultaneously transmitting an outgoing call notification via the cellular data module. An embodiment may also or alternatively include spooling telemetry data in a computer memory associated with the marking unit while the incoming call notification is being received via the cellular data module and then transmitting the spooled telemetry data after the incoming call notification is terminated. The marking unit may inform an originator configured to send a communication to the marking unit of a preferred routing of the plurality of communication interface modules for transmitting the communication. The preferred routing may include identifying at least a first communication interface module of the plurality of communication interface modules as a primary route and identifying at least a second communication interface module of the plurality of communication interface modules as a secondary route for use when the primary route is unavailable. Informing the device may include rejecting at least one communication sent by the device to each of the plurality of communication interface modules that is not in the preferred routing. Informing the device may include transmitting at least one communication to the device via the preferred routing. The method may further include storing instructions corresponding to the preferred routing in a computer memory connected to a device associated with the originator.
[0020] In some embodiments of the method, initializing the marking unit may include the marking unit automatically determining which of the multiple communication interface modules are available, including automatically attempting to establish a connection to a telemetry data collection / remote support node via a cellular data module, automatically receiving any available updates to the machine readable instructions, automatically selecting which of the multiple communication interface modules to use for transmitting or receiving each communication, and automatically notifying a caller configured to send a communication to the marking unit regarding preferred routing of the multiple communications. Initializing the marking unit may occur without human intervention after the marking unit is connected to a power source.
[0021] Another aspect of the invention is a system for marking variable data content on a product or product packaging, comprising a marking unit as described herein, and a variable data content communication subsystem comprising a content computer processor, a variable data content communicator connected to the content computer processor in communication with the marking unit, and a content computer memory connected to the content computer processor, the content computer memory being programmed with machine readable instructions for generating variable data content and / or receiving user input corresponding in part to the variable data content, and for transmitting the variable data content communication to the marking unit. The variable data content communication subsystem may be configured to receive instructions regarding preferred routing of the variable data content communication, update the machine readable instructions present in the content computer memory to include the preferred routing, and communicate the variable data content to the marking unit using the preferred routing.
[0022] The marking unit can be programmed with machine-readable instructions that automatically initialize the marking unit without human intervention after being connected to a power source by automatically determining which of a plurality of communication interface modules are available, including automatically attempting to establish a connection to a telemetry data collection / remote support node via a cellular data module; automatically receiving available updates to the machine-readable instructions; automatically selecting which of a plurality of communication interface modules to utilize for sending and receiving each communication; and automatically informing a transmitter configured to send communications to the marking unit of a preferred routing of the plurality of communications.
[0023] Another aspect of the invention relates to a variable data content communication device comprising a content computer processor, a variable data content communicator connected to the content computer processor and in communication with a marking unit, and a content computer memory connected to the content computer processor, the content computer memory programmed with machine readable instructions for transmitting a variable data content communication to the marking unit for generating variable data content and / or receiving user input corresponding at least in part to the variable data content. The variable data content communication device is configured to receive instructions from the marking unit regarding preferred routing of which of a plurality of communication interface modules on the marking unit to use for the variable data content communication, update the machine readable instructions present in the content computer memory to include the preferred routing, and communicate the variable data content to the marking unit using the preferred routing.
[0024] Yet another aspect of the present invention relates to a machine-readable medium programmed with machine-readable instructions to cause a processor associated with a variable data content communication device in communication with a marking unit to generate variable data content and / or receive user input that at least partially corresponds to the variable data content, receive instructions from the marking unit regarding preferred routing of which of a plurality of communication interface modules on the marking unit to use for transmitting the variable data content communication, update the machine-readable instructions to include the preferred routing, and communicate the variable data content to the marking unit using the preferred routing. [Brief description of the drawings]
[0025] [Figure 1A] FIG. 1 is a high-level functional block diagram of one embodiment of a marking unit that communicates with a global computer network via multiple network interfaces and is designed to ablate variable data content onto product packaging. [Figure 1B] 1B is a high-level functional block diagram of the embodiment of FIG. 1A illustrating a marking unit with multiple network interfaces and communicating with a global computer network through multiple intermediate networks. [Diagram 2] FIG. 4 is a finite state diagram of a routing selection process that a marking unit can perform to determine the most preferred way to send a given message. [Diagram 3] FIG. 13 is a diagram of a look-up table (LUT) used by the marking unit to determine which physical gateway to use to send a message based on the message's original sender, recipient, and Type-of-Service (TOS). [Figure 4] FIG. 1 is a workflow diagram illustrating an example marking unit communication interface selection method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0026] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the relevant teachings. However, it will be apparent to those skilled in the art that the teachings of the present invention may be practiced without such details. In some instances, well-known methods, procedures, components, and / or circuits have been described at a relatively high level, without detailed descriptions, in order to avoid unnecessarily obscuring aspects of the present teachings.
[0027] As used herein, the term "coupled" refers to a logical, optical, physical, or electrical connection, link, or the like, by which a signal generated or provided by one system element is conveyed to another coupled element. Unless otherwise specified, coupled elements or devices are not necessarily directly connected to each other, but may be separated by intermediate components, elements or communication media that modify, operate, or transmit the signals.
[0028] 1A, a marking unit 100 configured to mark variable data content 102 on a product or product packaging 104 is shown. The marking unit 100 includes a marker module 110, at least one computer processor 120 connected to at least one computer memory 130, one or more sensors 140, and a number of interface modules 150, 154, 158, and one or more communication ports 170. A housing 190 encloses at least some of the components and, in a preferred embodiment, includes all of the number of interface modules 150, 154, 158, which may therefore be referred to as "on-board" modules. In other embodiments, one or more of the interface modules 150, 154, 158 may be external to the housing 190 and connected to the marking unit 100 by wire or wirelessly.
[0029] The marker module 110 may be, but is not limited to, a laser marking module configured to ablate a surface of the product or product packaging 104 in accordance with the variable data content 102, or a printer marking module, such as an inkjet printer (including continuous inkjet or thermal inkjet printers) or a thermal transfer printer configured to apply ink to a surface of the product or product packaging 104 in accordance with the variable data content 102. Each of the one or more sensors 140 is configured to generate monitoring data related to at least one operating variable of the marker module 110. One or more parameters corresponding to operational settings of the marker module 110 may also be included in the monitoring data.
[0030] As shown, communication module 150 is a wired Ethernet connection module configured to connect via wire 151 to a wired receiver external router 152 port connected to a global computer network 160. Communication module 154 is a wireless Wi-Fi module 154 configured to wirelessly connect to a wireless external router 153 port connected to the global computer network 160. The external router ports 152 and 153 may be embodied in the same router 155 or the ports may be embodied in different routers. Communication module 158 is a cellular data module configured to wirelessly connect directly to the global computer network 160 via an on-board router 159. The term "cellular data module" as used herein refers to any type of communication module compatible with any type of mobile communication technology used in mobile phones without being limited to a particular technology.
[0031] The machine readable instructions executable by the computer processor 120 include marker module instructions 131 that cause the marker module 100 to apply the variable data content 102 as variable data content 103 applied to a product or product packaging 104, cause the computer processor 120 to generate telemetry data, send or receive communications, and select one of a plurality of interface modules 150, 154, 158 to use for sending or receiving each communication. The marker module instructions 131 include logic for selecting which interface module 150, 145, 158 to use based on the category of the communication and the availability of each of the plurality of interface modules 150, 145, 158. This logic is illustrated in FIG. 2. The communication category includes at least telemetry data / remote support communications, including sending telemetry data derived from the monitoring data to a telemetry data collection / remote support node 184 via a global computer network 160, sending and receiving remote service communications via the telemetry data collection / remote support node 184, and receiving predictions (e.g., for services) derived from predictive analytics. The communication category further includes receiving software updates (i.e., updates to machine-readable instructions), for example, from a software update server 186, and receiving variable data content, for example, from a variable data content communicator 188 (which can be a computer, such as a personal computer, tablet computer, or mobile device connected to the network). Although communication via a global computer network 160 is shown, in some embodiments, the variable data content 102 may be communicated via a local network or direct connection, for example via a communications port 170, rather than via a global computer network 160, or via a client network 181 or a vendor network 182 via interface modules 150, 154, 158.The computer memory 130 may also include a look-up table (LUT) 350 (see FIG. 3) that statically or algorithmically describes how the marking unit 100 routes or transmits messages.
[0032] 1B shows various networks 180, 181, 182 and network configurations 190, 191, 192 that the marking unit 100 can utilize to communicate with the global computer network 160. First, the marking unit 100 can use either the Ethernet interface module 150 or the Wi-Fi interface module 154 to connect to the client network 180. The client network 180 is a Wi-Fi, Bluetooth, or other wireless network maintained on the client's premises and used by the client's devices to communicate with each other and with the wider WAN or the Internet. The client network 180 has a connection path (which can be active or inactive at various times) to the global computer network 160 so that the marking unit 100 can directly or indirectly communicate with a telemetry data collection / remote support node 184, a software update server 186, or a variable data content communicator 188, as well as other servers and nodes of the vendor. The variable data content communicator 188 preferably communicates over the client network 180 directly with client-controlled content creation or propagation machines.
[0033] In the client network configuration 190, the marking units 100 connect directly to the global computer network 160 using the client network 180. The marking units 100 may require secure access to use the client network 180 and may be prohibited from directly contacting other marking units 100 at the client's premises or other devices of the vendors (shown as vendor units 101A-C). The vendor units 101A-C may be other marking units 100 or other units providing services to the vendors, acting as an interface for clients to upload variable data content 102, as an interface for clients to order or request service or maintenance, or as an access terminal for connecting the other vendor units 101A-C and the marking units 100 to the global computer network 160.
[0034] In the vendor network configuration 191, the marking unit 100 connects to the global computer network 160 using a vendor network 181. The marking unit 100 can use either an Ethernet interface module 150 or a Wi-Fi interface module 154 to connect to the vendor network 181. The vendor network 181 is a wired or wireless network created by a vendor at a client's premises. The vendor network 181 connects to the global computer network 160 through one or more other networked units (e.g., vendor units 101A-C). The vendor network 181 may connect to the global computer network 160 through a gateway unit (e.g., vendor unit 101A) or another marking unit 100 acting as a gateway (e.g., vendor units 101B-C), which may have a direct wired or wireless network connection to the global computer network 160, such as through a cellular network 182 or a wired high-speed connection. Alternatively, it may be a gateway unit that is granted elevated privileges by the client to utilize a client network 180 that the marking unit 100 does not have the privilege to utilize. The client may implement this network method for the purpose of simplifying the network; that is, instead of updating multiple marking units 100 individually, the administrator of the client network 180 only needs to update the network rules of a single gateway unit. Thus, the vendor network 181 may be directly connected to the global computer network 160, may utilize the client network 180, or may utilize the cellular network 182 via another vendor unit 101A-C. The marking unit 100 that is connected to but does not host the vendor network 181 is agnostic as to how the vendor network 181 ultimately reaches the global computer network 160.
[0035] In the cellular network configuration 192, the marking unit 100 utilizes the cellular network 182 to connect to the global computer network 160. The marking unit 100 may use the cellular interface module 158 to connect to the cellular network 182. The cellular network 182 may be an LTE or other wireless broadband communication network. The cellular network 182 has a connection path (which may be active or inactive at various times) to the global computer network 160 so that the marking unit 100 can directly or indirectly communicate with the telemetry data collection / remote support node 184, the software update server 186, or the variable data content communicator 188, as well as other servers and nodes of the vendor. In the case of the cellular network configuration 192, the marking unit 100 attempts to create a vendor network 181 itself, allowing other vendor units 101A-C to utilize the cellular network 182 through the vendor network 181 to access the global computer network 160.
[0036] Machine-readable instructions executable by the computer processor 120, including marker module instructions 131 for causing the sending or receiving of communications, may enable the marking unit 100 to operate alone or in concert with a telemetry data collection node 184, a software update server 186, a variable data content communicator 188, other vendor units 101A-C, or forwarding devices on the global computer network 160, the client network 180, the vendor network 181, or the cellular network 182. When the marking unit 100 powers up, it obtains routing instructions. These instructions may be the look-up table (LUT) 350 of FIG. 3, or a list of programmed rules having substantially the same functionality as the LUT 350. The instructions in the LUT 350 are typically set at the time of manufacture and cannot be changed by the client or vendor, although the present invention is not limited to any particular arrangement of the LUT.
[0037] For sending a communication, the marking unit 100 determines which interfaces 150, 154, 158 are available and which networks 180, 181, 182 are available to those interfaces 150, 154, 158. Based on this information and the instructions in the LUT 350, the marking unit 100 can cause the communication to be sent to the appropriate interface 150, 154, 158 and network 180, 181, 182.
[0038] With respect to the receiver of the communication, the marking unit 100 can determine which interfaces 150, 154, 158 are available and which networks 180, 181, 182 are available to those interfaces 150, 154, 158, and then send a message to one or more devices on the networks 160, 180, 181, 182 informing those devices to transmit or forward the communication to a particular interface 150, 154, 158 on the particular network 180, 181, 182. The devices on the networks 160, 180, 181, 182 can include a telemetry data collection node 184, a software update server 186, a variable data content communicator 188, other vendor units 101A-C, or forwarding devices on the global computer network 160, client network 180, vendor network 181, or cellular network 182.
[0039] Alternatively, the telemetry data collection node 184, software update server 186, variable data content communicator 188, other vendor units 101A-C, or forwarding devices on the global computer network 160, client network 180, vendor network 181, or cellular network 182 may be configured to send a communication on all available interfaces 150, 154, 158 via all available networks 180, 181, 182 during a first communication in a series of communications. The marking unit 100 may receive only a subset of these and may further reject all but one message in order to instruct the sender which networks 180, 181, 182 and interfaces 150, 154, 158 are appropriate. For example, the software update server 186 sends communications to all interfaces 150, 154, 158 across all networks 180, 181, 182, and the marking unit 100 receives communications only on the cellular network 182 and the vendor network 181 on both the Ethernet interface module 150 and the Wi-Fi interface module 154. The marking unit 100 rejects communications from the cellular network 182 and communications received on the Wi-Fi interface module 154. As a result, the software update server 186 is updated to send communications to the only interface that received and accepted the communications (Ethernet module 150 on the vendor network 181).
[0040] Additionally, other devices such as the vendor units 101A-C or the client controlled variable data content communicator 188 may be configured to expect the marking unit 100 to eventually join the networks 180, 181, 182. As a result, when the marking unit 100 powers up and connects to any intermediary networks 180, 181, 182 or the global computer network 160, these intermediary networks 180, 181, 182 or telemetry data collection nodes 184, software update servers 186, variable data content communicators 188, other vendor units 101A-C, or forwarding devices on the global computer network 160, client network 180, vendor network 181, or cellular network 182 will instruct their respective entities on how to send communications so that the marking unit can receive them.
[0041] Initialization of the marking unit may include the marking unit automatically determining which of a plurality of communication interface modules are available, including automatically attempting to establish a connection to the telemetry data collection / remote support node via the cellular data module. The marking unit may search for and receive machine-readable instruction updates (e.g., preferably from the telemetry data collection / remote support node via the cellular data module). The marking unit may automatically select a plurality of communication interface modules to use for sending and receiving each communication, and may automatically inform a caller configured to send the communication to the marking unit of a preferred routing of the plurality of communications. All of the above automatic steps may occur without human intervention, as part of an initialization routine, after connecting the marking unit to a power source. Default instructions corresponding to the preferred routing may be pre-installed in the marking unit, but override instructions may be programmed by a user, such as a user with access to an associated user interface. Changes to the routing instructions may be made locally, or via product support communications from the telemetry data collection / remote support node, or a combination thereof.
[0042] An exemplary routing selector finite state diagram 200 for an exemplary set of logic operations implemented by the marker module 100 is shown in FIG. 2. In state 201, the marker module 100 is powered up at a client site. The marker module 100 may have been delivered or manually installed by a technician provided by the vendor of the marker module 100. In an embodiment, the marker module 100 includes a battery unit and the interface modules 150, 154, 158 may be activated at any time between manufacture and installation. In such an example, the marking unit 100 cycles through the routing selector finite state diagram 200 and waits for a signal to attempt to connect to the global computer network 160 or to attempt the logic operations implemented in the routing selector finite state diagram 200. Installation may be as simple as plugging the marking unit 100 into an electrical outlet.
[0043] When the marking unit 100 is powered up and moves through the routing selector finite state diagram 200, in state 204 the marking unit 100 attempts to identify an active connection to a client network 180. The client network 180 is a Wi-Fi or Bluetooth network maintained on the client's premises and used by the client's devices to communicate with each other, or a wider WAN or the Internet. The client network 180 has a connection path (which can be active or inactive at various times) to a global computer network 160 so that the marking unit 100 can directly or indirectly communicate with a telemetry data collection / remote support node 184, a software update server 186, or a variable data content communicator 188, as well as other servers and nodes of the vendor. The connection to the client network 180 can be made via an external router port 152 of the interface module 150, an external wireless router 153 of the interface module 154, or one or more communication ports 170 of the marking unit 100.
[0044] In state 207, the marking unit 100 acts upon the determination that the marking unit 100 has an active connection to the client network 180 and, via the client network 180, the marking unit 100 has an active connection to the global computer network 160. If the marking unit 100 has such an active connection to the client network 180, the marking unit 100 may proceed to state 224, where the marking unit 100 may utilize the client network 180 to communicate with the telemetry data collection / remote support node 184, the software update server 186, or the variable data content communicator 188, as well as other servers and nodes of the vendor, via the global computer network 160. If the marking unit 100 completes the communication in state 224 and the marking unit 100 needs to engage in additional communication, the marking unit 100 enters state 227, where the marking unit 100 again determines an active connection to the client network 180. If the marking unit 100 confirms an active connection to the global computer network 160 via the client network 180, the marking unit 100 returns to state 224 for additional communications. While the marking unit 100 has an active connection to the global computer network 160 via the client network 180, the marking unit 100 cycles between states 224 and 227 as the marking unit communicates with the global computer network 160.
[0045] Validation of active connections (states 207, 213, 219, 227, 236, 245, 251, etc.) may require determining whether a particular connection is appropriate for a particular data type. For example, telemetry data and remote support communications to and from telemetry data and remote support node 184 may always be set to utilize cellular network 182, while the remaining data may use the most efficient available active network 180, 181, 182. Alternatively, for security reasons, a vendor or client may determine that variable data content 102 from variable data content communicator 188 should not be transmitted over cellular network 182, and thus be restricted to client network 180 or vendor network 181. If a particular connection is inappropriate for a particular data or message, it is not validated.
[0046] While the marking unit 100 is in either state 207 or 227, if the marking unit 100 is unable to confirm an active connection to the client network 180, or if the connection to the client network 180 does not allow a connection to the global computer network 160, the marking unit 100 proceeds to state 210. In state 210, the marking unit 210 attempts to confirm an active connection to a vendor network 181. The vendor network 181 is a wired or wireless network created by a vendor at the client's premises. The vendor network 181 has a connection path to the global computer network 160 via one or more other networked units. The vendor network 181 may be connected to the global computer network 160 via a gateway unit, or another marking unit 100 acting as a gateway. The gateway unit may have a wired or wireless network directly to the global computer network 160, such as via a cellular network 182 or a wired high-speed connection. Alternatively, the gateway unit may have been given elevated privileges by the client to utilize a client network 180 that the marking unit 100 is not authorized to utilize. The client may implement this method to simplify the network and allow the administrator of the client network 180 to update the network rules of a single gateway unit instead of managing multiple marking units 100 individually. The connection to the vendor network 181 is via the external router port 152 of the interface module 150, the external wireless router 153 of the interface module 154, or one or more communication ports 170 of the marking unit 100. The data type check can be performed at any time as the marking unit 100 progresses through the routing selector finite state diagram 200.
[0047] In state 213, the marking unit 100 acts upon the determination that the marking unit 100 has an active connection to the vendor network 181, and through the vendor network 181, the marking unit 100 has an active connection to the global computer network 160. If the marking unit 100 has such an active connection to the vendor network 181, the marking unit 100 can proceed to state 230, where the marking unit 100 can utilize the vendor network 181 to communicate with the telemetry data collection / remote support node 184, the software update server 186, or the variable data content communicator 188, as well as other servers and nodes of the vendor, through the global computer network 160. If the marking unit 100 completes the communication in state 230 and the marking unit 100 needs to engage in additional communication, the marking unit 100 enters state 233.
[0048] In state 233, the marking unit 100 attempts to check for an active connection to the client network 180, since at this point the client network 180 is the preferred connection that the marking unit 100 will utilize if available, rather than the vendor network 181. By configuration, checking the client network 180 can be omitted if the vendor chooses not to use the client network 180, or if the vendor is reasonably certain that the client network 180 is unavailable. Omitting the check of the client network 180 can be set as a flag (e.g., Boolean value OMIT_CLIENT_NETWORK_CHECK=1), or the marking unit 100 can be deployed with firmware that does not implement any implementation of the functionality related to the client network 180 in the routing selector finite state diagram 200 and skips this functionality.
[0049] In state 236, the marking unit 100 acts upon the determination that the marking unit 100 has an active connection to the client network 180 and, through the client network 180, an active connection to the global computer network 160. If the marking unit 100 has such an active connection to the client network 180, the marking unit may proceed to state 224. If the marking unit 100 does not have such an active connection to the client network 180, the marking unit returns to state 210 where the marking unit 100 attempts to determine an active connection to the vendor network 181.
[0050] Returning to state 213, if the marking unit 100 determines that the marking unit 100 does not have an active connection to the vendor network 181, the marking unit 100 attempts to ascertain an active connection to a cellular network 182. The cellular network 182 may be an LTE or other wireless broadband communication network. The cellular network 182 has a connection path to a global computer network 160 so that the marking unit 100 can communicate directly or indirectly with a telemetry data collection / remote support node 184, a software update server 186, or a variable data content communicator 188, as well as other servers and nodes of the vendor. The connection to the cellular network 182 may be made through a wireless on-board router 159 of the interface module 158 or through one or more communication ports 170 of the marking unit 100.
[0051] In state 219, the marking unit 100 acts upon the determination that the marking unit 100 has an active connection to the cellular network 182 and that the marking unit 100 has an active connection to the global computer network 160 via the cellular network 182. If the marking unit 100 has such an active connection to the cellular network 182, the marking unit can proceed to state 239, where the marking unit 100 can utilize the cellular network 182 to communicate with the telemetry data collection / remote support node 184, the software update server 186, or the variable data content communicator 188, as well as other servers and nodes of the vendor, via the global computer network 160. Other marking units 100 can utilize the cellular connection of this marking unit 100 to communicate with the global computer network 160 via the vendor network 181.
[0052] If the marking unit 100 cannot connect to the global computer network 160 via the cellular network 182, the marking unit 100 enters state 221 and is offline. The marker unit 100 has attempted to use the client network 180, the vendor network 181, and the cellular network 182 to reach the global computer network 160, but has been unsuccessful. In this state, the marker unit 100 may notify nearby persons of the lack of network connectivity using an audio or visual signal (e.g., a sound or a flashing light). It may also transition to an inactive state, power off, or return to state 204 after a time delay. Any conventional actions performed by a device in an offline network state are contemplated.
[0053] Returning to state 239, if the marking unit 100 completes the communication in state 239 and the marking unit 100 needs to engage in additional communication, the marking unit 100 enters state 242 where the marking unit 100 again checks for an active connection to the client network 180. If the marking unit 100 checks for an active connection to the global computer network 160 through the client network 180 in state 245, the marking unit 100 returns to state 225 for additional communication. The marking unit 100 attempts to check for an active connection to the client network 180, which at this point is not the vendor network 181 or the cellular network 182, because the client network 180 is the preferred connection that the marking unit 100 utilizes when available.
[0054] However, if in state 245 the marking unit 100 is unable to confirm an active connection to the client network 180, the marking computer 100 enters state 248 where it attempts to confirm an active connection to the vendor network 181. At this point the marking unit 100 attempts to confirm an active connection to the vendor network 181 rather than the cellular network 182 because the vendor network 181 is the preferred connection for the marking unit 100 to use when available (and when the client network 180 is unavailable).
[0055] In state 251, the marking unit 100 acts based on the determination in state 248 that the marking unit 100 has an active connection to the vendor network 181, and through the vendor network 181, the marking unit 100 has an active connection to the global computer network 160. If the marking unit 100 has such an active connection to the vendor network 181, the marking unit 100 may proceed to state 230. If the marking unit 100 does not have such an active connection to the vendor network 181, the marking unit returns to state 216.
[0056] The routing selector finite state diagram 200 assumes that the network selection priority is first the client network 180, second the vendor network 181, and third the cellular network 182. Other implementations may assume other orders. For example, a vendor may prefer a vendor network 181 connected to a global computer network via a cellular network 182. This allows the vendor to have full control over the data flow to and from the marking unit 100 while minimizing cellular data costs. However, if cellular data is not available for any of the marking units 100 at the client premises, or if there is too much broadcast interference to establish the vendor network 181, the vendor may prefer to be able to fall back to the client network 180. In such an example, the network selection priority would be first the vendor network 181, second the cellular network 182, and third the client network 180. Additionally, a vendor may prefer that marking units 100 located at client premises communicate with each other over the vendor network 181, but preferentially use the client network 180 for aggregate messaging to the global computer network 160. In that case, the network selection priority would be first vendor network 181, second client network 180, and third cellular network 182. Additionally, a vendor may wish to avoid increasing Wi-Fi traffic and interference at client premises. If Wi-Fi traffic is required, the vendor may wish to move the traffic over the client network 182 so that the client can be aware of the source of the Wi-Fi traffic or interference. In such an example, the network selection priority would be first cellular network 182, second client network 180, and third vendor network 181.2 discloses a particular routing selector finite state diagram 200, the priorities of the networks 180, 181, 182 can be adapted to suit the needs of the vendor or client and can be set at installation time or determined and changed as needed by the client, vendor or algorithmic network traffic routing process. Also, there can be separate routing table finite state diagrams 200 corresponding to any combination of data or message sender, receiver and message or data type, i.e., the appropriate routing table finite state diagram 200 is selected once the marking unit 100 knows what message or data it is sending and what other network devices are receiving that message or data.
[0057] In a preferred embodiment, the marking unit 100 can be configured to simultaneously send and receive communications over two or more of the multiple interface 150, 154, 158 modules. For example, the marking unit 100 can be configured to send telemetry data over the cellular module 158 while receiving variable data content over the Wi-Fi module 150 or the Ethernet module 154. As a practical matter, software update information can be downloaded at any time, but for various operational reasons, it may be necessary to delay the software update until a time when the marking unit 100 is not actively marking products via the marking module 110. Thus, the software update file is stored in the computer memory 130 and the computer processor 120 can send a prompt to the user interface requesting permission to install or a designated date and time to perform the installation. While the cellular communication module 158 can be configured to send data simultaneously as it receives data, in other embodiments, the computer processor 120 can be configured to spool (store) the telemetry data in the computer memory 130 while incoming information is being received via the cellular module 158. Telemetry data may be spooled periodically to limit the number of communications sent with the telemetry data, and / or the telemetry data can be spooled as needed. For example, data may be sent in bursts periodically (e.g., hourly, daily) rather than continuously provided, thereby minimizing communication charges. Or, data may be spooled when cellular connectivity is disabled rather than using another communication mode.
[0058] The sensor data to or from the sensor 140 may be transmitted as raw data via the communication modules 150, 154, 158 or may be processed prior to transmission. For example, the sensor data may be continuously collected in some form by the computer processor 120 and converted into different metrics from the received signals. Thus, the telemetry data may be derived from the sensor data but may not be identical to the sensor data. For example, the data may be averaged over a specified period of time. The sensor data may be transmitted at a first frequency if the data is within an expected range or within an expected range of variation or deviation and at a second frequency if the data is outside the range or exhibits abnormal variation. Additionally, the telemetry data includes monitoring data in the nature of parameter settings of the marker module, which settings are stored in memory and programmable using a user interface.
[0059] The data routing logic may be provided in the form of a look-up table (LUT) 300 as shown in Figure 3. The illustrated LUT 350 allows the markup unit 100 to return non-local traffic on the same interface 150, 154, 158 on which the traffic was received. The LUT 350 also allows the markup unit 100 to select a particular interface 150, 154, 158 for a particular data flow, rather than sending all traffic through a single interface 150, 154, 158. Furthermore, the LUT 350 allows the marking unit 100 to traverse between different routing policy scenarios based on the state of the connection to the cellular network 182, the vendor network 181, or the client network 180, and based on the vendor or client decisions. The LUT 350 assists the marking unit 100 in meeting these requirements. The LUT 350 implements a strong host model, meaning that the source and destination of a message are relevant in the selection of the network 180, 181, 182 and network interface 150, 154, 158 used to transmit the message.
[0060] The illustrated LUT 350 has a priority column 352, and when the marking unit 100 needs to send a message, the marking unit 100 selects the LUT 350 record 300-324 with the highest priority. The LUT 350 records 300-324 also have a source IP address 354, which indicates where the message is originating from and potentially which interface module 150, 154, 158 the marking unit 100 wants to send over. In this example, the 180.0.0.0 address is the address of a vendor unit, node, server, or communicator connected via the client network 182, the 181.0.0.0 address is the address of any vendor unit connected via the vendor network 181, and the 182.0.0.0 address is the address of any vendor unit connected via the cellular network 182. The vendor units may be connected via multiple networks 180, 181, 182. 0.10.0.0 is the address range of any vendor unit in the client's premises. 0.10.100.0 is the address range of the marking unit 100.
[0061] LUT 350 further includes a destination IP address column 356, which indicates where the message is to be sent. In this example, the 180.0.0.0 address is the address range of any vendor unit connected via client network 180, the 181.0.0.0 address range includes the addresses of any vendor unit connected via vendor network 181, and the 182.0.0.0 range address is the address of any vendor unit connected via cellular network 182. 0.20.0.0 is the address range of any vendor unit within the vendor's premises, and 0.20.184.1 indicates the telemetry data collection / remote support node 184, and in particular the port of telemetry data collection / remote support node 184 designated for receiving telemetry data.
[0062] Additionally, the LUT 350 has a Type of Service (TOS) column 358, which indicates the type of message being transmitted and is conventionally a byte-sized bit array. In this example, a TOS type 358 of 00010000 is an acknowledgement or response; a TOS type 358 of 00000100 is a transmission of outgoing telemetry data; a TOS type 358 of 00000000 is a non-specific type; and a TOS type 358 of 00011000 is a transmission of incoming variable data content 102.
[0063] LUT 350 then has a gateway column 360. Gateway 360 indicates which physical devices 152, 153, 159 of markup unit 100 will actually send a message, assuming that physical devices 152, 153, 159 are operational and connected to networks 180, 181, 182. In this example, address range 192.168.152.0 is the external router port 152 of Ethernet interface module 150, address range 192.168.153.0 is the wireless external router 153 of Wi-Fi interface module 154, and address range 192.168.159.0 is the wireless onboard router 159 of cellular interface module 158.
[0064] The illustrated LUT 350 is designed to implement five rules. First, messages received from vendor devices located at the vendor's premises are preferably replied to by the marking unit 100 on the same network 180, 181, 182 on which the message was received. Second, outgoing telemetry data destined for a port designated for incoming telemetry data on the telemetry data collection / remote support node 184 can only be sent via the cellular interface module 158 on the cellular network 182 (similarly, replies from the support telemetry data collection / remote support node 184 are also sent via the cellular interface module 158 on the cellular network 182). Third, for non-specific types of messages, the messages are preferably sent in the following order: client network 180, vendor network 181, or cellular network 182. Fourth, incoming variable data content 102 is preferably sent over Ethernet, not over the air, when available; cellular is not allowed. Fifth, when using the client network 180 or the vendor network 181, the Ethernet interface module 150 is preferred over the Wi-Fi interface module 154.
[0065] LUT records 300-314 implement a first rule, LUT record 315 implements a second rule, LUT records 316-320 implement a third rule, LUT records 321-324 implement a fourth rule, and LUT records 300-303, 305-312, 316-319, 321-324 implement a fifth rule.
[0066] In a first embodiment, the marking unit 100 receives a message from the software update server 186 via the vendor network 181. The software update server 186 cannot communicate over the client network 180, but can communicate over the vendor network 181 and the cellular network 182. The marking unit 100 can communicate over any of the networks 180, 181, 182, and can also communicate over any of the interface modules 150, 154, 158. The marking unit 100 needs to acknowledge the message from the software update server 186, which means that the message from the marking unit 100 has a TOS of 00010000. Because the TOS is 00010000, the marking unit 100 needs to use the LUT record 300-314 whose TOS 358 value matches 00010000. Next, since the marking unit 100 is configured to respond on the same network 180, 181, 182 as the sender, the marking unit 100 attempts to use a source address in the 181.0.0.0 range to match the sender using the vendor network 181 with the 181.0.0.0 address range. The LUT records 302, 303, 309-312 that meet all the requirements described thus far have a source 354 within the address range 181.0.0.0 and a TOS 358 of 0001000. Finally, of the remaining LUT records 302, 303, 309-312, the marking unit 100 selects the LUT record 302 with the highest priority 352, which represents the marking unit 100's desire to respond on the same network 181 on which the original message was sent, preferably via Ethernet. The marking unit 100 then sends an acknowledgement message to the software update server 186 at address 181.20.186.0 via the Ethernet module 150 at gateway address 192.168.152.181.
[0067] In a second embodiment, the marking unit needs to send outgoing telemetry data to the telemetry data collection / remote support node 184. The marking unit 100 can communicate via any of the networks 180, 181, 182 and any of the interface modules 150, 154, 158. The marking unit 100 is sending outgoing telemetry data, which means that the message from the marking unit has a TOS of 00000100. Since the TOS is 00000100, the marking unit 100 needs to use the LUT record 315 whose TOS 358 value matches 00000100. Therefore, the marking unit 100 selects the only available LUT record 315 and sends the message from address 182.10.100.0 to the cellular network 182 via the cellular module 158 with the gateway address 192.168.159.182.
[0068] In a third embodiment, the marking unit 100 needs to respond to a network heartbeat message sent by another vendor unit 101C on the cellular network. The heartbeat message has a TOS 358 of 00000000, and the vendor unit 101C and the marking unit 100 can communicate on all networks 180, 181, 182, but neither the vendor unit 101C nor the marking unit 100 is connected to an Ethernet module 150. The IP address range of the vendor unit 101C is 0.10.101.0. The heartbeat message is a non-specific type of message, so the TOS is 358 00000000. Therefore, the LUT records 316-320 are the range of records to be tracked. Since the vendor address 0.10.101.0 is within 0.0.0.0 and the marking unit 100 address 0.10.100.0 is within 0.10.0.0, any of the LUT records 316-320 may be available. However, since the marking unit 100 does not have an Ethernet connection to either of the networks 180, 181, only the LUT records 317, 319-20, which utilize a wireless connection or a cellular network, are available. The remaining LUT record 317 with the highest priority is selected and the marking unit 100 responds to the heartbeat message at the vendor unit 101C address 180.10.101.0 via the gateway address 192.168.153.180.
[0069] In the fourth embodiment, the marking unit 100 needs to route the variable data content 102 to the vendor unit 101C of the previous embodiment. Since the variable data content 102 has a TOS 358 00011000, the LUT records 321-324 are relevant records in the LUT table 300. Since the marking unit 100 still lacks an Ethernet interface module 150 connection, the marking unit 100 cannot select the first two otherwise eligible LUT records 321-322. Therefore, the marking unit 100 selects the next available LUT record 323 and sends the variable data content 102 to the vendor unit 101C at the same vendor unit 101C address 180.10.101.0 via the same gateway address 192.168.153.180.
[0070] It should be understood that although certain exemplary options are depicted in the LUT table 350, the table is intended to be non-limiting. The present invention is not limited to the set of options listed in the LUT table 350, nor to the designations shown for each option. However, cellular communication via the cellular network 182 is generally preferred for telemetering and software download transmissions, as this type of communication protocol avoids the use of resources at the installation site and relies solely on resources provided to the marking unit 100. Each manufacturing site may have a different set of rules requiring a different set of logic decisions. The logic results can be programmable via a user interface, either locally or remotely, during or after installation, and / or can be factory programmed with default or custom settings.
[0071] The LUT table 350 and the route selector finite state diagram 200 can be used together. First, the LUT table 350 determines the priority of the networks 180, 181, 182 for a given message type, sender, and receiver. Then, the route selector finite state diagram 200 is sorted according to the priority. The default priority is first the client network 180, then the vendor network 181, and finally the cellular network 182. This order can be changed depending on the needs of the message. Next, the route selector finite state diagram 200 is traversed until one of the states 224, 230, 239 is reached that allows the message to be sent. Further, assuming that the state 224, 230, 239 is allowed by the LUT table 350, the message is sent by the marking unit 100. If not, the marking unit 100 continues traversing the finite state diagram 200 until it reaches a message sending state 224, 230, 239 that satisfies the LUT table 350 for this particular message. This logic creates policy rules and routing tables that enforce the required traffic scenarios, and can dynamically switch between traffic scenarios by monitoring networking status and user decisions on the various interfaces 150, 154, 158 of the marking unit 100.
[0072] 4 illustrates an exemplary marking unit communication interface selection method workflow 400. The workflow describes how the marking unit 100 selects which interface 150, 154, 158 to utilize for a particular network communication (e.g., based on the TOS 358). Beginning at step 405, the method 400 includes selecting which of the multiple interface modules 150, 154, 158 to use to transmit or receive a communication based on the category or TOS 358 of the communication and the availability of each of the multiple interface modules 150, 154, 158. Categories include, but are not limited to, telemetry data, updates to machine readable instructions, variable data content, and the like.
[0073] In some embodiments, an interface module 150, 154, 158 is considered "available" if it has an active connection to the Internet (e.g., the global computer network 160) and the marking unit 100 has permission to use that interface module 150, 154, 158. Selection of the multiple interface modules 150, 154, 158 to use may comprise preferentially selecting the cellular data module 158 for transmitting telemetry data, sending and receiving support communications, and receiving machine-readable instruction updates. Additionally, selection of the multiple interface modules 150, 154, 158 to use may comprise preferentially selecting one of the interface modules 150, 154 other than the cellular data module 158 for receiving the variable data content 102.
[0074] Proceeding to step 410, method 400 includes transmitting and receiving each communication defined by a category of communication. In some examples, transmitting and receiving a communication comprises simultaneously transmitting and receiving the communication on two or more of the multiple interface modules 150, 154, 158. Method 400 can include selecting which network 180 181, 182 to utilize to reach the Internet (e.g., global computer network 160).
[0075] Step 415 of method 400 involves transmitting telemetry data over a global computer network 160 (e.g., the Internet) to a telemetry data collection / remote support node 184 or sending or receiving remote support communications, which occurs if the category is telemetry data or remote support communications. Step 420 of the method involves receiving updates to machine readable instructions (e.g., marker module instructions 131), which occurs if the category is updates to machine readable instructions. Step 425 involves receiving variable data content 102, which occurs if the category is variable data content 102.
[0076] At step 430, if the variable data content 102 was received, the method 400 includes marking the product or product packaging 104 in accordance with the received variable data content 102. In some embodiments, applying the variable data content 103 includes marking the product or product packaging by laser ablating a surface of the product or product packaging in accordance with the variable data content. In other embodiments, applying the variable data content 103 includes marking the product or product packaging by applying ink to a surface of the product or product packaging in accordance with the variable data content.
[0077] An exemplary printing system utilizing the networking technology described above experienced no CPU or memory issues, and the system did not fail to print during the two week test period. The increased connectivity allows for reliable real-time visibility into dashboards and alerts, potentially reducing the need for reprints by 30 times compared to systems with no or poor connectivity. The robust connectivity allows for remote support, allowing users to receive rapid troubleshooting and repair support, as well as guidance on repairing or replacing with a different marking unit to get the user's printing line back up and running faster. Analytics based on data acquired by the marking unit 100 and transmitted to the telemetry data collection / remote support node 184 provide historical performance across the user's manufacturing sites, potentially reducing line downtime to 0.6 times per unit per week. It also provides insight into the data through analytics and reporting for advanced operational optimization.
[0078] Although examples are described herein, the type of marking unit 100 or the type of laser marking or print marking module is not limited to any particular type of unit. Exemplary sensor monitored data and telemetered parameters are described in U.S. Patent No. 9,524,132, which is incorporated by reference, but the types of sensors monitored and the types of data monitored are not limited in any way. Telemetered monitored and transmitted data includes telemetry data collected by the sensors and status information (e.g., errors, warnings, parameter changes, etc.) generated by the processing unit 120, as well as remote support communications, including service communications based on predicted results, which may be transmitted from the telemetry data collection / remote support node 184 to the marking unit 100.
[0079] Any of the steps or functions of the routing selector finite state diagram 200, marker module instructions 131, LUT 350, or marking unit communication interface selection method workflow described herein for the marking unit 100 may be embodied in programming or one or more applications as described above. According to some embodiments, a "function", "functions", "application", "applications", "instructions", "instructions", or "programming" is a program that performs the functions defined in the program. Various programming languages may be employed to create one or more applications, and may be structured in various ways, such as object-oriented programming languages (e.g., Objective-C, Java, or C++), procedural programming languages (e.g., C or assembly language), or firmware. As a specific example, a third-party application (e.g., an application developed using the ANDROID™ or IOS™ Software Development Kit (SDK) by an entity other than the vendor of a particular platform) may be mobile software that runs on a mobile operating system, such as IOS™, ANDROID™, WINDOWS™ Phone, or other mobile operating systems. In this example, a third party application can invoke API calls provided by the operating system to enable the functionality described herein.
[0080] Thus, the machine-readable medium can take many forms of tangible storage media. Non-volatile storage media include optical or magnetic disks, such as any of the storage devices of any computer, such as may be used to implement the client devices, media gateways, transcoders, etc. shown in the figures. Volatile storage media include dynamic memory, such as the main memory of such a computer platform. Tangible transmission media include coaxial cables, copper wire, and fiber optics, including the wires that comprise a bus within a computer system. Carrier wave transmission media can take the form of electric signals, electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Thus, common forms of computer readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, other magnetic media, CD-ROMs, DVDs or DVD-ROMs, other optical media, punch cards, paper tapes, other physical storage media having patterns of holes, RAMs, PROMs and EPROMs, FLASH-EPROMs, other memory chips or cartridges, carrier waves transmitting data or instructions, cables or links transmitting such carrier waves, or other media from which a computer can read programming code and / or data. Many of these computer readable media can be used to transmit one or more sequences of one or more instructions to a processor for execution. Such media may reside in any of the components described herein and may be accessed by the respective processors to execute the instructions stored therein. The media may also reside on a server, including the server configured to transmit software and / or firmware updates to respective local memory media locations. Thus, the method steps described herein and executable by a processor may be subject to specially programmed devices including a processor, and to programmed instructions stored in a computer memory and accessible by the processor.
[0081] The scope of protection is limited only by the appended claims, which should be interpreted as broadly as possible consistent with the ordinary meaning of the terms used in the claims when interpreted in light of this specification and subsequent prosecution history, and should include all structural and functional equivalents. None of the claims are intended, and should not be interpreted, to encompass subject matter that does not meet the requirements of Sections 101, 102, or 103 of the Patent Act. Any unintended inclusion of such subject matter is hereby disclaimed.
[0082] Except as immediately stated, nothing described or illustrated is intended, and should not be construed, as providing the public with any components, steps, features, objects, benefits, advantages, or equivalents, whether or not claimed. Terms and expressions used herein are understood to have the ordinary meanings ascribed to such terms and expressions in the corresponding respective fields of study and research, unless a specific meaning is otherwise specified herein. Relative terms such as first, second, etc. may be used merely to distinguish one entity or operation from another, without necessarily requiring or implying an actual relationship or order. "Comprises," "comprising," "including," "including," or other variations are intended to protect a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises or includes a list of elements or steps does not include only those elements or steps, but may include other elements or steps not expressly listed, or other elements or steps inherent to such process, method, article, or apparatus. An element preceded by "a" or "an" does not, without further constraints, exclude the presence of identical additional elements in the process, method, article, or apparatus that comprises the element.
[0083] Unless otherwise stated, all measurements, values, estimates, positions, dimensions, sizes, and other specifications described herein, including the following claims, are approximate and not exact. Such quantities are intended to have reasonable ranges consistent with the relevant function and common practice in the relevant technical field. For example, unless otherwise stated, parameter values or the like may vary within a range of ±10% from the quantities stated.
[0084] Moreover, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, protected subject matter lies in less than all features of any single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description as if each were a separate claimed subject matter.
[0085] While the foregoing describes what are believed to be the best mode and / or alternative embodiments, it is understood that various modifications thereto may be made and that the subject matter disclosed herein may be embodied in various forms and embodiments and may be adapted to numerous applications. It is intended in the following claims to claim all modifications and variations that fall within the true scope of the concepts. To the extent that the following claims expressed as dependent claims may not be expressed in multiple dependent claim format but may be expressed as a single preceding independent or dependent claim only, it is understood that any of the features described herein may be combined in any combination or permutation with other features described and / or claimed herein that are not mutually exclusive, and that embodiments of the invention may be expressed in multiple dependent claim format, including, without limitation, multiple dependent claims that are dependent on other multiple dependent claims in national jurisdictions where the same is permitted.
[0086] Although the invention has been illustrated and described herein with reference to specific embodiments, it is not intended that the invention be limited to the details shown. Rather, various modifications of the details may be made without departing from the invention, within the scope and range of equivalence of the claims.
Claims
1. 1. A marking unit configured to mark a product or product packaging with variable data content, comprising: a marker module configured to mark the product or product packaging according to the variable data content; at least one computer processor coupled to at least one computer memory and to the marker module, the computer memory including machine-readable instructions that cause the marker module to mark the product or product packaging with the variable data content; one or more sensors coupled to the computer processor and / or the computer memory, each configured to generate monitoring data related to at least one operational variable of the marker module, wherein the machine-readable instructions include instructions for causing the at least one computer processor to generate telemetry data corresponding at least in part to the monitoring data; and a plurality of interface modules configured to connect to a global computer network, a wired Ethernet connectivity module configured to connect via wire to an external router connected to the global computer network; a wireless WI-FI module configured to wirelessly connect to an external router connected to the global computer network; a cellular data module configured to connect wirelessly directly to said global computer network via an onboard router; a plurality of interface modules each having one or more communication ports connected to the at least one computer processor and to at least one interface module of the plurality of interface modules; Equipped with The machine-readable instructions executable by the at least one computer processor include: a) i. transmitting said telemetry data to a telemetry data collection / remote support node; ii. receiving remote support communications from said telemetry data collection / remote support node; iii. receiving updates to the machine-readable instructions; iv. receiving said variable data content; instructions for sending and receiving communications, including communications defined by a category selected from the group consisting of: b) instructions for selecting which of the plurality of interface modules to use for transmitting or receiving each of the communications based on the category of the communication and the availability of each of the plurality of interface modules; and Including, Marking unit.
2. 2. The marking unit of claim 1, wherein the instructions for selecting which of the plurality of interface modules to use comprise logic configured to cause preferential selection of the cellular data module for transmitting the telemetry data and receiving updates to the machine-readable instructions.
3. 1. A method of marking a product or product packaging with variable data content with a marking unit, the marking unit having a processor programmed with machine-readable instructions and a plurality of communication interface modules; The method comprises: the marking unit transmitting or receiving one or more communications via one or more of the plurality of communication interface modules, each of the one or more communications comprising: a) transmitting telemetry data to a telemetry data collection / remote support node; b) receiving remote support communications from a telemetry data collection / remote support node; b) receiving updates to the machine-readable instructions; and c) receiving variable data content; steps defined by categories selected from the group consisting of: the marking unit determining which of the plurality of communication interface modules are available; determining, by the marking unit based on a determination regarding a category of the communication and which of the plurality of communication interface modules is available, which of the plurality of communication interface modules to use to transmit or receive each of the communications; the marking unit receiving the variable data content and marking the product or product packaging according to the received variable data content; A method comprising:
4. 4. The method of claim 3, wherein each of the plurality of communication interface modules is considered available if it has an active connection to the Internet and the marking unit has permission to use that communication interface module.
5. The plurality of communication interface modules include: a wired Ethernet connection module configured to connect via a wire to an external router connected to the global computer network; a wireless WI-FI module configured to wirelessly connect to an external router connected to the global computer network; and a cellular data module configured to connect directly and wirelessly to said global computer network via an onboard router; The method of claim 3 , comprising at least two of:
6. 6. The method of claim 3, further comprising the steps of receiving and processing the telemetry data at a remote processor, identifying a remote support communication for the marking unit based at least in part on the telemetry data, and transmitting the remote support communication to the marking unit via the telemetry data collection / remote support node.
7. The method of any one of claims 3 to 5, further comprising the steps of receiving an update to the machine-readable instructions and updating the machine-readable instructions.
8. 6. The method of claim 3, further comprising the step of the marking unit informing an originator configured to send the communication to the marking unit of a preferred routing of the plurality of communication interface modules for sending the communication.
9. The initialization of the marking unit is performed by the marking unit: automatically determining which of the plurality of communication interface modules are available, including automatically attempting to establish a connection to the telemetry data collection / remote support node via the cellular data module; automatically receiving any available updates to the machine-readable instructions; automatically selecting which of said plurality of communication interface modules to use for transmitting or receiving each communication; and automatically informing the caller configured to send a communication to the marking unit regarding a priority routing of the plurality of communications; The method of claim 8, comprising:
10. 1. A system for marking variable data content on a product or product packaging, comprising: The marking unit according to claim 1; a variable data content communication subsystem; Equipped with the variable data content communication subsystem comprises a content computer processor, a variable data content communicator connected to the content computer processor and in communication with the marking unit, and a content computer memory connected to the content computer processor; The system, wherein the content computer memory is programmed with machine-readable instructions for generating variable data content and / or receiving user input corresponding at least in part to the variable data content, and for transmitting variable data content communications to the marking unit.