METHOD FOR THE RECONSTITUTION OF
MESSAGES CONVEYED BY ONE OR MORE
BACKGROUND OF THE INVENTION
The present invention relates to the reconstitution, upon arrival in a terminal, of messages conveyed in fragments through a packet-switched data transmission network in 10 which these messages may be conveyed redundantly, by several independent transmission networks, in order to increase the security of their transportation.
A switched-packet data transmission network is constituted by a meshing of transmission lines and interconnection 15 nodes linking geographically dispersed terminals that exchange messages with each other. The packets, which are formed by datagrams of variable length, travel asynchronously, in modulated form, on transmission lines. They are redirected in interconnection nodes through which they travel 20 until they reach their destination. Their trajectory times are variable and depend on the congestion of the interconnection nodes when they cross these nodes. They comprise payload data constituting the payload of the network and service information enabling them to be routed within the network. It is not 25 rare that a message to be transmitted is divided among several packets. In this case, the service information of the packets provides information on the fact that these packets belong to a same message and on their relative positions within this message to enable the reconstitution of the message at desti- 30 nation.
The invention more specifically relates to the reconstitution of messages fragmented in packets, upon the arrival of the packets at their destination, when the same message, for reasons of security, can be conveyed redundantly by several 35 independent transmission networks, a same packet being capable of reaching the same terminal several times through different virtual channels or paths and at points in time that are close but distinct.
Hitherto, it has been the case that, when the same message, 40 segmented into packets, is transmitted to a same terminal, by at least two independent transmission networks, the poor reception of one packet of the message on one of the networks leads to the rejection of all the packets of the message conveyed by this network. This prevents the reconstitution of a 45 message through a combination of the packets conveyed by the two transmission networks when packets are badly conveyed on both networks, even if these cases where the packets are badly conveyed do not concern the same packets on both networks. 50
SUMMARY OF THE INVENTION
The present invention is aimed at resolving this problem. It is also aimed at providing a method for the reconstitution of 55 messages fragmented in packets, conveyed as the case may be by a single transmission network, this method being easy to implement at the input point of a terminal.
An obj ect of the invention is a method for the reconstitution of messages fragmented in packets, conveyed to a terminal, 60 by at least one packet-switched transmission network, each packet comprising a data payload that can constitute a message fragment and service information relating to the address of a reception port of the destination terminal, the identity of the message to which it belongs and its relative position in 65 such a message. This method comprises a process for taking a census of the packets made available to the terminal by the
transmission networks and a process for reassembling a message from packets listed by the census-taking process which implements a table of pointers pointing at the packets made available to the terminal by the transmission networks, sorted out by membership message, said pointers being placed, for each membership message, in a stack according to the order in which in the packets that they point at are placed at the disposal of the terminals and being provided with information fields or status fields used to report doubles and discrepancies between the order in which the packets of a stack are made available and the natural order of the message fragments constituted by the payloads of the packets, and the fate of the packet pointed at during the reassembling process.
Advantageously, the packet pointers of the table contain a part reserved for a reporting function to indicate whether a packet pointed at is the last packet of a message.
Advantageously, the packet pointers of the table contain a part reserved for the identification of the communications network coming from the packet pointed at.
Advantageously, the table of packet pointers is organized in the form of message descriptors, each message descriptor containing a stack of packet pointers that can be allocated to a particular message.
Advantageously, when the table of packet pointers is organized in the form of message descriptors, each message descriptor comprises, in addition to a stack of pointers, a header block containing service information on the identity of the message to which its stack of pointers is allocated, the destination address of the message to which its stack of pointers is allocated, the management of the working of its stack of pointers and the state of the reassembling of the message.
Advantageously, when the table of packet pointers is organized in the form of message descriptors, it is accompanied by a message descriptor allocation table listing the message descriptors of the table of packet pointers in the course of being allocated to messages.
Advantageously, the message reconstitution method is implemented with packets whose service information field also provide information on their length and comprises the following steps:
the storage, in a first working memory space, of the packets
coming from the packet transmission networks, the creation, in a second working memory space, of the table formed by N descriptors, N being a positive integer, capable of being allocated to messages in the course of being reconstituted and by a table of descriptor allocation elements, each descriptor comprising: a stack of M pointers, M being a positive integer, capable of being allocated to packets stored in the first working memory space, each packet pointer containing a part reserved for the address, in the first working memory space, of the packet allocated to it, a part reserved for the relative position of the packet within the message allocated to the descriptor and a part reserved for a status specifying the situation, at the current instant, of the allocated packet, during the running of a message reconstitution operation, and a header bloc with service information on the identification of the message allocated to the descriptor and the position, in the stack of packet pointers of the descriptor, of the first available pointer of the stack to be allocated, the expected maximum position of the next packet to be reassembled in the message authorizing a chaining with the last packet reassembled with the message,