Method and system of communicating devices, and devices therefor, with protected data transfer
First Claim
Patent Images
1. 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.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and a communicating system to enhance the reliability of communication between devices by protecting against failure of a device, e.g. due to power interruption. Additional data is included in communication primitives transmitted between communicating devices. The additional data relates to state data of the device having generated the additional data. The additional data is used to check the state data. The state data may also be derivable from the additional data upon receiving the additional data back from an other device.
-
Citations
22 Claims
-
1. 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. - View Dependent Claims (2, 5, 6, 7, 8, 9)
-
-
3. 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 and establishing second state data related to said second program after having carried out said second program step; 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 and third additional data having a third predetermined relationship with said second state data; followed by the following steps carried out by said first processor; i. receiving said second communication primitive; j. extracting said second and third additional data from said second communication primitive, storing said third additional data in said first memory means 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 and establishing third state data related to said first program after having carried out said third program step; m. reading said third additional data from said first memory means; n. transmitting in accordance with said first program to said second device a third communication primitive including fourth additional data having a fourth predetermined relationship with said third additional data and fifth additional data having a fifth predetermined relationship with said third state data; followed by the following steps carried out by said second processor; o. receiving said third communication primitive; p. extracting said fourth and fifth additional data from said third communication primitive, storing said fifth additional data in said second memory means and deriving said third additional data from said fourth additional data; q. checking whether said derived third additional data has said third predetermined relationship with said second state data;
if not, either discontinuing said second program or starting a recovery process;
if so, continuing with;r. carrying out a fourth program step in accordance with said second program. - View Dependent Claims (4)
-
-
10. A system comprising 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 first processor being arranged to carry out at least the following steps; 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; said second processor being arranged to carry out the following steps after the first processor has carried out the steps a-c; 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 (2) a second communication primitive including second additional data having a second predetermined relationship with said first additional data; said first processor being also arranged to carry out the following steps after the second processor has carried out the steps d-h; 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.
-
-
11. A system comprising 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 first processor being arranged to carry out at least the following steps; 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; said second processor being arranged to carry out the following steps after the first processor has carried out the steps a-c; 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 and establishing second state data related to said second program after having carried out said second program step; 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 and third additional data having a third predetermined relationship with said second state data; said first processor being also arranged to carry out the following steps after the second processor has carried out the steps d-h; i. receiving said second communication primitive; j. extracting said second and third additional data from said second communication primitive, storing said third additional data in said first memory means (4) 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 and establishing third state data related to said first program after having carried out said third program step; m. reading said third additional data from said first memory means; n. transmitting in accordance with said first program to said second device a third communication primitive including fourth additional data having a fourth predetermined relationship with said third additional data and fifth additional data having a fifth predetermined relationship with said third state data; said second processor being also arranged to carry out the following steps after said first processor has carried out the steps i-n; o. receiving said third communication primitive; p. extracting said fourth and fifth additional data from said third communication primitive, storing said fifth additional data in said second memory means and deriving said third additional data from said fourth additional data; q. checking whether said derived third additional data has said third predetermined relationship with said second state data;
if not, either discontinuing said second program or starting a recovery process;
if so, continuing with;r. carrying out a fourth program step in accordance with said second program.
-
-
12. A device comprising a processor, memory means and input/output means, said memory means and input/output means being coupled to said processor;
-
said processor being arranged to carry out at least the following steps; a. carrying out a first program step in accordance with a predetermined program; b. establishing first state data related to said program after having carried out said first program step; c. transmitting in accordance with said program a first communication primitive including first additional data having a predetermined relationship with said first state data; d. receiving a second communication primitive from another device; e. extracting second additional data from said second communication primitive and deriving said first additional data from said second additional data; f. checking whether said derived first additional data has said predetermined relationship with said state data;
if not, either discontinuing said program or starting a recovery process;
if so, continuing with;g. carrying out a second program step in accordance with said program. - View Dependent Claims (13, 14, 15)
-
-
16. A computer program product comprising computer executable instructions to be carried out by a computer device comprising a processor, memory means and input/output means, said memory means and input/output means being coupled to said processor, said computer program product allowing said processor to carry out at least the following steps:
-
a. carrying out a first program step in accordance with the program; b. establishing first state data related to said program after having carried out said first program step; c. transmitting in accordance with said program a first communication primitive including first additional data having a predetermined relationship with said first state data; d. receiving a second communication primitive from another device; e. extracting second additional data from said second communication primitive and deriving said first additional data from said second additional data; f. checking whether said derived first additional data has said predetermined relationship with said state data;
if not, either discontinuing said program or starting a recovery process;
if so, continuing with;g. carrying out a second program step in accordance with the program. - View Dependent Claims (17)
-
-
18. A device comprising a processor, memory means and input/output means, said memory means and input/output means being coupled to said processor;
-
said processor being arranged to carry out the following steps; a. receiving a first communication primitive from another device; b. recognizing that the first communication primitive comprises additional data that has a first predetermined relationship with state data related to a first program running on said another device; c. extracting said additional data from said first communication primitive and storing said additional data in said memory means; d. carrying out a program step in accordance with a second program; e. reading said first additional data from said memory; f. transmitting in accordance with said second program to said another device a second communication primitive including second additional data having a second predetermined relationship with said first additional data, wherein said processor is arranged to carry out the following sub-steps in step a; a1. checking whether a central memory has stored said first communication primitive;
if not repeating step a1;
if so, continuing with step a2;a2. reading said first communication primitive from said central memory; a3. removing said first communication primitive from said central memory. - View Dependent Claims (20)
-
-
19. A device comprising a processor, memory means and input/output means, said memory means and input/output means being coupled to said processor;
-
said processor being arranged to carry out the following steps; a. receiving a first communication primitive from another device; b. recognizing that the first communication primitive comprises additional data that has a first predetermined relationship with state data related to a first program running on said another device; c. extracting said additional data from said first communication primitive and storing said additional data in said memory means; d. carrying out a program step in accordance with a second program; e. reading said first additional data from said memory; f. transmitting in accordance with said second program to said another device a second communication primitive including second additional data having a second predetermined relationship with said first additional data, wherein said processor is arranged to carry out the following sub-steps in step a; a1. checking whether a central memory has stored said first communication primitive;
if not repeating step a1;
if so, continuing with step a2;a2. reading said first communication primitive from said central memory; a3. adding an indication to said first communication primitive in said central memory that said first communication primitive has been read by said device.
-
-
21. A computer program product comprising computer executable instructions to be carried out by a computer device comprising a processor, memory means and input/output means, said memory means and input/output means being coupled to said processor, said computer program product allowing said processor to carry out at least the following steps:
-
a. receiving a first communication primitive from another device; b. recognizing the first communication primitive to comprise additional data having a predetermined first relationship with state data related to a first program running on said another device; c. extracting said additional data from said first communication primitive and storing said additional data in said memory means; d. carrying out a program step in accordance with the program; e. reading said first additional data from said memory; f. transmitting in accordance with said program to said another device a second communication primitive including said second additional data having a second predetermined relationship with said first additional data. - View Dependent Claims (22)
-
Specification