요약

  • 이용자는 작업을 UCLA로 보내고 접속을 끊은 뒤에 나중에 돌아와 인쇄 결과를 받을 수 있었다. 계산 대기 시간과 단말기를 연결해 둔 시간을 분리한 구조였다.
  • 다만 계산이 완료된 것만으로 결과가 전달되는 것은 아니다. RFC 599의 'squish'는 출력을 삭제하기 전에 네트워크의 전달 확인이 필요한 이유를 보여준다.

출력이 돌아오기 전에 연결을 끊을 수 있었다

배치 처리는 요청한 사람이 접속을 끊은 뒤에도 계속된다. NETRJS에서는 원격 이용자가 UCLA의 Campus Computing Network로 작업을 보내고 일단 로그아웃한 후, 나중에 다시 접속하여 결과를 받을 수 있었다. ARPANET은 입력을 계산기로 운반하고 그 출력을 되돌려 보냈다. 중요한 것은 접속을 여는 것이 아니라 작업의 왕복이 완료되는 것이었다.

가상 단말기로 배치 처리를 네트워크로

1977년의 RFC 740은 NETRJS를, UCLA-CCN이 IBM 360 Model 91로의 배치 투입용으로 정의·구현한 'private protocol'이라고 부른다. 같은 RJS는 전용 통신선에 연결된 실제 카드 단말기도 처리했다. 즉 이것은 ARPANET에서도 직접 회선에서도 이용할 수 있는 특정 계산 서비스이며, ARPANET의 모든 작업이 UCLA에서 처리되었다는 뜻은 아니다.

출력이 도착할 때까지 일은 끝나지 않는다

원격 측은 Virtual Remote Batch Terminal, 즉 가상 원격 배치 단말기로 표현되었다. 입력용 카드 판독기, 결과를 돌려주는 프린터와 천공기, 로그온이나 명령, 상태·오류 통지를 처리하는 조작 콘솔이 있었다. 작업은 최대 80문자의 카드 이미지를 나열한 형태로 보내졌으며 JCL을 포함할 수 있었다. 서버는 우선순위에 따라 배치 시스템에 등록하고, 인쇄물과 천공 출력을 원래의 가상 단말기로 돌려보냈다. 이용자는 기다릴 수도, 나중에 돌아올 수도 있다.

제어와 데이터는 별도의 접속을 통과했다. 조작 콘솔은 전이중 Telnet 접속, 카드 판독기·프린터·천공기는 각각 별도의 단방향 채널을 사용했다. 이용자와 서버 사이에는 최대 5개의 접속이 마련되었다. 데이터 채널은 사용하는 동안만 열면 되었고, 세 종류의 장치는 동시에 작동할 수 있었다. 원격 프로세스는 대화형 단말기가 아니라 배치 장치의 가상 구성을 관리했다.

NETRJS는 1977년에 시작된 것이 아니다. RFC 88이 1971년에 기술했고, RFC 599가 1973년에 갱신했으며, RFC 740이 RFC 189와 RFC 599를 대체했다. 1973년의 갱신에는 드문 운용 통계가 있다. 10월에 NETRJS를 통해 제출된 작업은 1,373건, 인쇄된 것이 1,105건, 천공 출력은 0건이었다. 카드 판독 49,400장, 인쇄 822,900행·18,907페이지, 접속 393.6시간으로 기록되었다. 이는 UCLA의 한 서비스·한 달치 값으로, ARPANET 전체의 수치가 아니다. 평균적인 작업은 입력 360행(RFC의 표현으로는 'cards'), 출력 745행·17.1페이지로, 상당히 전형적이라고 여겨졌다.

이 통계만으로 출력이 안전하게 전달되었다고 말할 수 없다. RFC 599는 'squish'라고 불린 문제를 적고 있다. NCP의 버퍼링에 따른 지연 때문에, 짧은 인쇄 파일이 원격 호스트가 첫 메시지를 수신하기 전에 RJS 측에서 폐기되는 경우가 있었다. 원격 기기의 충돌이나 이용자의 취소로 결과가 사라질 수 있었다. 수정에서는 NETRJS가 데이터 종단 마크에 대한 RFNM을 기다린 뒤에야 RJS에 출력 폐기를 지시한다. 처리 완료와 전달 완료는 별개의 경계였다.

문자 코드도 경계 중 하나였다. UCLA의 IBM 360은 EBCDIC으로 작동했고, 원격 측에는 ASCII 호스트가 있었다. 1972년 RAND, Utah, Illinois의 이용자가 초기 대응표의 결함을 지적했고, UCLA는 변환을 수정하고 다른 방식도 추가했다. 1977년의 규정은 가상 단말기에 EBCDIC, ASCII-68, ASCII-63의 선택지를 마련하고, 필요하면 입력 카드와 인쇄 출력을 변환했다.

NETRJS의 의미는 이용자가 계산기 앞에서 결과를 계속 기다리지 않고도, 먼 곳에서 계산 자원을 사용할 수 있었다는 점에 있다. 작업은 우선순위에 따라 처리되었고, 출력은 나중에 회수할 수 있는 한편, 전송 확인 전에 삭제하면 결과를 잃는다. RFC가 적은 로그온, 카드 입력, 문자 변환, 출력 회수, 삭제 전 확인은 먼 곳의 사람이 배치 계산을 안심하고 맡기기 위한 조건이었다. 인터넷은 거리를 줄였을 뿐 아니라, 계산을 맡기고, 손을 떼고, 결과를 받는 시간의 흐름을 이어주었다.

1차 자료