Resumo

  • O NETRJS permitia que um host remoto atuasse como terminal de lote virtual para o IBM 360/91 da UCLA-CCN.
  • Console, cartões de entrada e saída impressa usavam canais distintos; os RFCs também registram problemas de conversão e entrega.

A saída podia chegar depois da desconexão

Um lote podia terminar quando o usuário já estava desconectado. Com o NETRJS, alguém em um host remoto enviava o trabalho ao Campus Computing Network da UCLA, encerrava a sessão e podia voltar mais tarde para receber o resultado. A ARPANET transportava a entrada até o computador e trazia a saída de volta. A unidade útil era a viagem completa do trabalho, não apenas a abertura de uma conexão.

O terminal virtual levou o lote à rede

O RFC 740, de 1977, chama o NETRJS de protocolo privado criado pela UCLA-CCN para submeter lotes a um IBM 360 Model 91. O mesmo serviço RJS também atendia terminais reais de cartões por linhas de comunicação diretas. Era um serviço específico, acessível por caminhos diferentes; o documento não prova que todo trabalho da ARPANET fosse processado na UCLA.

O trabalho só terminava quando a saída chegava

O ponto remoto era modelado como Virtual Remote Batch Terminal. Havia leitor de cartões para o trabalho que chegava, impressora e perfuradora para os resultados, além de um console de operador para login, comandos, estado e erros. O trabalho era enviado como imagens de cartões de até 80 caracteres, com linguagem de controle. O servidor o colocava na fila do sistema em lote conforme a prioridade e retornava impressões ou cartões perfurados ao terminal virtual de origem. O usuário podia esperar ou voltar depois.

Controle e dados seguiam separados. O console usava uma conexão Telnet full-duplex; leitor, impressora e perfuradora tinham canais simplex próprios. O protocolo previa até cinco conexões entre cliente e servidor. Os canais de dados precisavam ficar abertos apenas durante o uso, e os três dispositivos podiam operar ao mesmo tempo. O host remoto controlava um conjunto de periféricos virtuais de lote, não uma sessão interativa.

A história do NETRJS começa antes do RFC de 1977. O RFC 88 o descreveu em 1971; o RFC 599 atualizou a especificação em 1973; o RFC 740 substituiu os RFCs 189 e 599. A atualização de 1973 preserva uma rara medida operacional: em outubro, a UCLA-CCN recebeu 1.373 trabalhos pelo NETRJS; 1.105 foram impressos e nenhum perfurado. Foram lidos 49.400 cartões, impressas 822.900 linhas e 18.907 páginas, em 393,6 horas de conexão. Os números pertencem a um serviço e a um mês, não à ARPANET inteira. O documento chama de razoavelmente típico um trabalho médio com 360 linhas de entrada (“cartões”) e 745 linhas em 17,1 páginas de saída.

Esses totais não garantiam que o resultado chegasse ao usuário. O RFC 599 descreve a falha “squish”: por causa dos buffers NCP, o computador podia remover um arquivo curto de impressão antes de a primeira mensagem alcançar o host remoto. Se a máquina remota falhasse ou o usuário cancelasse a sessão, o resultado podia se perder. A correção fez o NETRJS esperar a confirmação RFNM do fim dos dados antes de instruir o RJS a descartar a saída. O trabalho precisava terminar duas vezes: no processamento e na entrega.

A codificação dos caracteres também precisava atravessar hosts diferentes. O IBM 360 da UCLA processava EBCDIC; usuários remotos podiam usar ASCII. Em 1972, usuários de RAND, Utah e Illinois apontaram falhas no mapeamento original. A UCLA alterou a tabela e incluiu outra. O RFC 740 oferecia a escolha entre EBCDIC, ASCII-68 e ASCII-63 para o terminal virtual, com conversão de cartões e impressão quando necessário.

O NETRJS mostra uma Internet capaz de transportar trabalho programado, além de conversas ao vivo. O usuário enviava um lote estruturado, o serviço decidia quando executá-lo e canais separados devolviam o produto. Os RFCs documentam o contrato prático: identificação, cartões de entrada, recuperação da saída, compatibilidade de caracteres e confirmação antes de apagar. A rede tornava o computador acessível; o serviço tornava utilizável o ciclo inteiro.

Fontes primárias