Уведомление о получении пакета результатов
Уведомление выставляется службой пересылки заданий после прихода из основной машины пакета результатов выполнения задания. Это уведомление может быть организовано как объявление события ожидающему процессу, как подкачка отложенного процесса или как образование процесса (задачи) из предопределенного или соответствующего данному заданию файла. Способ уведомления зависит от реализации.
Параметры уведомления: идентификатор задания и описатель пакета результатов. Структура описателя пакета результатов аналогична описателю пакета задания.
Опишем кратко функционирование службы пересылки заданий. После выставления пользователем на внешней машине запроса на ввод задания в основную машину задача ввода внешней машины устанавливает транспортное соединение между своим активным портом и пассивным портом задачи ввода основной машины. При этом для разрешения конфликта по доступу к пассивному порту задачи ввода основной машины между задачами ввода разных внешних машин возможно потребуется N-кратное обращение к транспортной службе с запросом на установление соединения через временные промежутки. После установления соединения задача ввода внешней машины начинает передачу пакета как протокольной единицы данных "Пакет". Пакет считается полностью переданным после окончания передачи сообщения-вопроса, содержащего пакет, и получения сообщения-ответа с протокольной единицей данных "Ответ" с нулевым кодом в поле "код ответа". Если одно из этих условий не выполнено, пакет считается не переданным. В зависимости от реализации задача ввода внешней машины может возобновить передачу пакета автоматически или после повторного запроса пользователя. В случае успешного завершения передачи пакета задача ввода внешней машины анализирует, не поступали ли другие запросы на ввод задания во время пересылки, и, если поступили, начинает, не терминируя транспортного соединения, пересылку следующего пакета. Если больше запросов нет, транспортное соединение терминируется по инициативе задачи ввода внешней машины.
По иници ативе задачи ввода внешней машины транспортное соединение может быть терминировано и во время пересылки (в случае возникновения исключительной ситуации в задаче ввода внешней машины, например, при невозможности прочтения файлов задания с диска внешней машины).
Задача ввода основной машины после установления транспортного соединения начинает прием пакета. После приема первого фрагмента сообщения-вопроса, содержащего марку первого файла, открывается справочник ввода с именем - идентификатором задания. В этом справочнике по ходу поступления марок файлов фиксируется расположение принимаемых файлов задания. После успешного окончания ввода пакета (транспортная служба не отбросила сообщение-вопрос с протокольной единицей данных пакет, запись тел файлов прошла успешно, без исключительных ситуаций) задача ввода посылает сообщение-ответ с протокольной единицей данных "Ответ", в поле "код ответа" которой помещается ноль. После этого пакет передается на обработку для начала выполнения задания. В случае неуспешного окончания ввода пакета задача ввода основной машины или посылает сообщение-ответ с соответствующим кодом ответа или терминирует транспортное соединение, причина терминации передается в поле "дополнительной информации" в формате записи последовательного байтового файла основной машины, содержащей текстовую строку с описанием причины терминации. Протоколом предусмотрены обе возможности. Справочник, в который помещался поступающий пакет, уничтожается. Все следы от недопринятого пакета исчезают.
Действия задач вывода аналогичны.