An information processing system (100, 110, 500), comprising: means for instructing generation of output data having an intermediate data format based on data in response to an output processing request for performing output processing on the data; means for determining a destination to which the output data is transferred for output based on the output processing request, the means for determining being associated with the destination; means (204, 205) for converting the output data from the intermediate data format to an output data format, the means for converting (204, 205) comprising a printer driver configured to generate print data for a printer and an electronic file driver configured to generate an electronic file, the print data and the electronic file having the output data format which is compatible with the destination to which the output data is transferred for output; means for sending output data identification information after determination of the destination through the determining means and before converting by the means (204, 205) for converting to an upper-level program (200, 201, 203), the output data identification information identifying the output data being generated, or the output processing being performed or to be performed on the output data; and monitoring means for receiving output data having the output data format from the means for converting (204, 205) and for transferring of the output data to the destination, wherein the monitoring means further include: means for storing output processing information relating to the output processing being performed or to be performed on the output data, in association with the output data identification information; and means for sending the output processing information associated with the output data identification information to the upper-level program (200, 201, 203), in response to the output data identification information received from the upper-level program (200, 201, 203); wherein the means (204, 205) for converting includes a plurality of drivers, which are respectively associated with a plurality of destinations; wherein, when the upper-level program (200, 201, 203) receives the output processing information indicating that an error occurred during when the output processing is being performed by one of the plurality of drivers, the upper-level program (200, 201, 203) sends an error recovery instruction to the monitoring means, and the monitoring means stores information regarding the error recovery instruction to allow the error recovery instruction to be read by at least one of the plurality of drivers. means for instructing generation of output data having an intermediate data format based on data in response to an output processing request for performing output processing on the data; means for determining a destination to which the output data is transferred for output based on the output processing request, the means for determining being associated with the destination; means (204, 205) for converting the output data from the intermediate data format to an output data format, the means for converting (204, 205) comprising a printer driver configured to generate print data for a printer and an electronic file driver configured to generate an electronic file, the print data and the electronic file having the output data format which is compatible with the destination to which the output data is transferred for output; means for sending output data identification information after determination of the destination through the determining means and before converting by the means (204, 205) for converting to an upper-level program (200, 201, 203), the output data identification information identifying the output data being generated, or the output processing being performed or to be performed on the output data; and monitoring means for receiving output data having the output data format from the means for converting (204, 205) and for transferring of the output data to the destination, wherein the monitoring means further include: means for storing output processing information relating to the output processing being performed or to be performed on the output data, in association with the output data identification information; and means for sending the output processing information associated with the output data identification information to the upper-level program (200, 201, 203), in response to the output data identification information received from the upper-level program (200, 201, 203); means for storing output processing information relating to the output processing being performed or to be performed on the output data, in association with the output data identification information; and means for sending the output processing information associated with the output data identification information to the upper-level program (200, 201, 203), in response to the output data identification information received from the upper-level program (200, 201, 203); wherein the means (204, 205) for converting includes a plurality of drivers, which are respectively associated with a plurality of destinations; wherein, when the upper-level program (200, 201, 203) receives the output processing information indicating that an error occurred during when the output processing is being performed by one of the plurality of drivers, the upper-level program (200, 201, 203) sends an error recovery instruction to the monitoring means, and the monitoring means stores information regarding the error recovery instruction to allow the error recovery instruction to be read by at least one of the plurality of drivers.