Abstract: A data structure is transmitted from a first computer to a second computer by transmitting a plurality of messages from the first computer to the second computer. Each message contains data of a node of the structure and one or more references to child pointer locations in previously transmitted nodes. The data of each transmitted node is stored in the second computer, and the location of each node is stored in a table of addresses and the or each reference includes an index into the table of addresses. The first computer may then use indexes into the table to identify which nodes need updating, and thus avoid the need for the first computer to know how the second computer is allocating nodes in memory. The or each reference may include an index into an array of child pointers belonging to a node, may include the sequence number of the parent node of the node being transmitted and may also include the index into the parent node's children to the pointer to the node being transmitted.
Abstract: Apparatus (104) for connecting two or more computer networks having two or more network interface machines (201, 202, 203) each arranged to be connected to a respective computer network with a bidirectional communications link (105, 106, 107) enabling the network interface machine to receive data from and transmit data to the computer network. The network interface machines are connected together with at least one content checker (210, 211) to enable data to be transmitted from one network interface machine to another, and arranged such that data transmitted from one network interface machine to another network interface machine must pass via a content checker. Each network interface machine is arranged to transmit flow control data. The network interface machines are connected to the content checkers only by unidirectional communications links.