Patent ID: 7828218

Claim:
A method of communicating between at least a first device and a second device; the first device comprising a first processor, first memory means and first input/output means, said first memory means and first input/output means being coupled to said first processor; the second device comprising a second processor, second memory means and second input/output means, said second memory means and second input/output means being coupled to said second processor; said method comprising at least the following steps carried out by said first processor: a. carrying out a first program step in accordance with a predetermined first program; b. establishing first state data related to said first program after having carried out said first program step; c. transmitting in accordance with said first program a first communication primitive including first additional data having a first predetermined relationship with said first state data; followed by the following steps by said second processor: d. receiving said first communication primitive; e. extracting said first additional data from said first communication primitive and storing said first additional data in said second memory means; f. carrying out a second program step in accordance with a second program; g. reading said first additional data from said second memory; h. transmitting in accordance with said second program to said first device a second communication primitive including second additional data having a second predetermined relationship with said first additional data; followed by the following steps carried out by said first processor: i. receiving said second communication primitive; j. extracting said second additional data from said second communication primitive and deriving said first additional data from said second additional data; k. checking whether said derived first additional data has said first predetermined relationship with said first state data; if not, either discontinuing said first program or starting a recovery process; if so, continuing with: l. carrying out a third program step in accordance with said first program.