# US 10,481,850 B2 · Controller to control an apparatus, printing device, and method for operating such a controller

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,481,850 B2
- Document ID: US10481850B2
- Status: Granted
- Kind: B2
- Application number: 15/820,630
- Filed: 2017-11-22
- Published: 2018-05-31
- Granted: 2019-11-19
- Earliest claimed: 2016-11-25
- Assignees: Océ Holding B.V.
- Applicants: Océ Holding B.V.
- Inventors: Christoph Nemmaier; Martin Kropf
- Web page: https://patentgrep.com/patent/US10481850B2

## CPC

- G06F 3/1279: {Controller construction, e.g. aspects of the interface hardware}
- G05B 15/02: electric
- G05B 19/4148: {characterised by using several processors for different functions, distributed (real-time) systems (G05B19/4141 takes precedence)}
- G06F 3/1218: {Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources}
- G06F 3/1224: {Client or server resources management}
- G06F 3/1273: {Print job history, e.g. logging, accounting, tracking}
- G06F 3/1288: {in client-server-printer device configuration}
- G06K 15/4025: {Managing optional units, e.g. sorters, document feeders}
- G06K 15/405: {Choosing a data source, e.g. on a network}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS

## Abstract

A controller to control an apparatus (e.g. a printer) can include multiple secondary sub-controllers and a main sub-controller. Each of the secondary sub-controllers can have an operator process and one or more executable control processes. Each of the control processes can be configured to exchange data with one or more other of the control processes. The main sub-controller can be communicatively coupled to the secondary sub-controllers via a data network. Each of the main and secondary sub-controllers can include at least one processor and an operating system. The respective operator processes can be configured to communicate via the data network, and the control processes of each of the secondary sub-controllers can be configured such that the control processes communicate exclusively with the operator process of their respective secondary sub-controller to communicate via the data network.

## Claims

### Claim 1

A controller to control an apparatus, comprising:
multiple secondary sub-controllers, each including an operator process and one or more executable control processes, each of the control processes being configured to exchange data with one or more other of the control processes; and
a main sub-controller communicatively coupled to the secondary sub-controllers via a data network, each of the main and secondary sub-controllers including at least one processor and an operating system, the main sub-controller further including hierarchically arranged mediator processes that are each configured to mediate the exchange of data between the secondary sub-controllers,
wherein the respective operator processes are configured to communicate via the data network, the control processes of each of the secondary sub-controllers being configured such that the control processes communicate exclusively with the operator process of their respective secondary sub-controller to communicate via the data network based on the mediation of the exchange of data by the hierarchically arranged mediator processes.

### Claim 2 (depends on 1)

The controller according to claim 1, wherein:
the hierarchically arranged mediator processes are each configured such that, upon an exchange of data between two control processes of two different secondary sub-controllers of the multiple secondary sub-controllers, the hierarchically arranged mediator processes respectively mediate the exchange of the data such that the two control processes of the different secondary sub-controllers respectively exchange data directly, without additional interposition of the main sub-controller, via the operator processes of the respective two different secondary sub-controllers.

### Claim 3 (depends on 2)

The controller according to claim 2, wherein:
the hierarchically arranged mediator processes are each configured such that, given a mediation request of an operator process of a first of the multiple secondary sub-controllers, a connection information is assigned to a second of the multiple secondary sub-controllers, and
the operator process of the first secondary sub-controller being configured to transmit data to the operator process of the second secondary sub-controller using the connection information of the operator process of the first secondary sub-controller.

### Claim 4 (depends on 3)

The controller according to claim 3, wherein the connection information comprises a port address or an identifier.

### Claim 5 (depends on 1)

The controller according to claim 1, wherein:
the respective operating system of the secondary sub-controller is configured to control the communication between the one or more respective control processes and the operator process of the secondary sub-controller, and
the communication between the one or more respective control processes and the operator process takes place using a memory mapping.

### Claim 6 (depends on 1)

The controller according to claim 1, wherein the data network is configured to transfer the data according to the Transmission Control Protocol (TCP) protocol.

### Claim 7 (depends on 6)

The controller according to claim 6, wherein only the operator process of each secondary sub-controller executes a TCP server and a TCP client.

### Claim 8 (depends on 1)

The controller according to claim 1, wherein each secondary sub-controller comprises only a single operator process.

### Claim 9 (depends on 1)

The controller according to claim 1, wherein the data network is configured according to the Ethernet standard or a standard according to Synchronous Data Link Control (SDLC), ProfiBus or Arcnet.

### Claim 10 (depends on 1)

The controller according to claim 1, wherein each control process is an instance of a corresponding control program at the secondary sub-controller and comprises its own address space.

### Claim 11 (depends on 1)

A printer configured to print to a recording medium, comprising:
multiple print groups configured to apply a respective predetermined print color onto the recording medium; and
a controller according to claim 1, wherein each of the multiple print groups includes a secondary sub-controller of the multiple secondary sub-controllers.

### Claim 12 (depends on 11)

The printer according to claim 11, further comprising a log station that is configured to:
regularly receive parameters from multiple components of the printing device, the multiple components including the multiple print groups, and
archive the received parameters.

### Claim 13 (depends on 1)

The controller according to claim 1, wherein, upon activation, a subordinate mediator process of the hierarchical arranged mediator processes is configured to register with a respective superordinate mediator process of the hierarchical arranged mediator processes.

### Claim 14 (depends on 13)

The controller according to claim 13, wherein the superordinate mediator process is configured to approve or deny a communication request for the subordinate mediator process based on whether the subordinate mediator process is active.

### Claim 15

A method for operation of a controller to control an apparatus, the controller including multiple sub-controllers connected via a data network, wherein each sub-controller includes at least one processor and an operating system, one of the sub-controllers being configured as a main sub-controller and the other sub-controllers being configured as secondary sub-controllers, the main sub-controller further including hierarchically arranged mediator processes that are each configured to mediate the exchange of data between the secondary sub-controllers, the method comprising:
mediating, by the hierarchically arranged mediator processes, the exchanging of data between one or more control processes of one of the secondary sub-controllers with one or more other control processes, the one or more control processes of one of the secondary sub-controllers and the one or more other control processes being executable at each of the secondary sub-controller; and
communicating via the data network, by the control processes of each of the secondary sub-controllers, exclusively using a respective operator process of each of the secondary sub-controllers based on the mediation of the exchange of data by the hierarchically arranged mediator processes.

### Claim 16 (depends on 15)

The method according to claim 15, wherein the communicating comprises:
communicatively coupling two of the secondary sub-controllers together using a respective one of the hierarchically arranged mediator processes of the main sub-controller; and
directly exchanging data between two control processes of the coupled secondary sub-controllers via the operator processes of the respective coupled secondary sub-controllers without direct interposition of the main sub-controller.
