Patent ID: 6937355

Claim:
A data communication apparatus for performing data communication with a partner apparatus through a communication line, said data communication apparatus comprising: job execution means for receiving data from the partner apparatus, for executing a job; and job management means for managing an execution status of said job; wherein: when execution of said job is interrupted by a given event, and is to be resumed, said job management means instructs said job execution means to resume said job, while presenting an execution status at a time when the execution of said job was interrupted; and said job execution means refers to the execution status at the time when the execution of said job was interrupted, for receiving only data required for executing a non-processed part of said job, said execution status being presented by said job management means, relating to said job about which the instruction of resuming has been given, wherein: said data communication apparatus performs communication with the partner apparatus through a serial interface based on IEEE (The Institute of Electrical and Electronics Engineers, Inc.) 1394 and in accordance with a data transfer protocol based on SBP-2 (Serial Bus Protocol 2); said job execution means follows ORB (Operation Request Block), which is received from the partner apparatus as said job and contains data indicating a storage area of data to be transferred from said partner apparatus to said data communication apparatus, in order to generate and send Read Block Request that indicates a read start address and a predetermined read data quantity to the partner apparatus, and receives, in response, Read Block Response that contains read data, so that the job execution means sequentially reads the data by the predetermined data quantity from any address, so as to receive the data in the storage area indicated by said ORB; and when said job management means instructs said job execution means to resume execution of the ORB whose execution was interrupted by a given event, then, the job execution means refers to the execution status presented from said job management means relating to the time when the execution of said ORB was interrupted, in order to generate Read Block Requests required for receiving data that has not been obtained yet, excluding data that has already obtained, out of the data in the storage area indicated in said ORB, to send said Read Block Requests to the partner apparatus, and to receive Read Block Responses as responses to said Read Block Requests.