요약
- 1975년 James E. White의 RFC 707은 애플리케이션별 ARPANET 프로토콜에서 반복되는 명령-응답 작업을 줄이기 위해 공통 프로시저 콜 프로토콜과 런타임 환경을 제안했습니다.
- 이 문서는 PDP-10에서 TENEX를 실행하는 프로토타입을 보고하면서도, 원격 호출이 여전히 프로세스 간 메시지를 필요로 하고 로컬 호출보다 비용이 많이 들며 모든 유용한 통신 형태를 표현할 수 없다는 점을 경고합니다.
명령 안에 숨어 있는 추가 대화
파일 이름 변경은 하나의 의도로 표현될 수 있지만, 여전히 회선 위에서 작은 대화를 요구했습니다. 1973년 FTP 사양에 따르면 클라이언트는 RENAME FROM을 보낸 뒤 RENAME TO를 보냅니다. 각 단계는 명령-응답 교환에 속하며, 애플리케이션은 원하는 작업뿐 아니라 이 대화 자체도 관리해야 했습니다. 원격 작업 항목(Remote Job Entry)에는 자체적인 명령·응답 스트림이 있었고, 작업이 진행되는 동안 진행 상황을 알리는 응답도 포함되어 있었습니다.
RFC 707,A High-Level Framework for Network-Based Resource Sharing는 이러한 반복을 설계 문제로 다뤘습니다. SRI의 Augmentation Research Center에서 근무하던 James E. White가 집필한 이 문서는 애플리케이션 프로토콜들이 요청, 매개변수, 결과, 응답을 위한 규율을 반복해서 재구축하고 있다고 주장했습니다. 제안은 그 메시지들을 없애는 것이 아니었습니다. 프로그래머에게 그 위에서 이루어지는 작업을 더 일관된 방식으로 서술할 방법을 주는 것이었습니다.
그 아래 네트워크가 있는 프로시저 호출
제안된 프로시저 콜 프로토콜(PCP)은 CALL과 RETURN 메시지를 짝지어 교환을 트랜잭션 식별자와 연관시키고, 인자·결과, 그리고 여러 개의 미완료 요청을 지원했습니다. 각 설치 위치의 런타임 환경이 호출을 직렬화하고 원격 측과 통신하며 결과를 호출자에게 전달합니다. RFC 707은 블로킹 호출과 논블로킹 호출, 그리고 원격 서버가 클라이언트를 다시 호출하는 콜백도 허용했습니다.
이 추상화는 프로그래밍 표면을 바꿨습니다. 모든 서비스를 각자의 명령 문법으로 기술하는 대신, 애플리케이션은 프로시저와 그 매개변수를 서술하면 되었습니다. 그러나 책임 분담은 여전히 드러나 있었습니다. PCP는 호출 형태의 교환을 담당하고, 그 형태에 맞지 않는 상호작용을 위해서는 하위 수준의 프로세스 간 통신이 계속 사용 가능해야 했습니다.
TENEX 프로토타입 하나가 증명하는 것
RFC에 따르면 ARC는 1974년 7월 연구를 시작해 12개월에 걸쳐 세 차례 설계 반복을 거쳤고, TENEX를 실행하는 PDP-10용 프로토타입 런타임 환경을 설계, 문서화, 구현했습니다. 이 문서는 그 TENEX 환경이 사양을 구현했으며 기술된 기능의 상위집합을 제공했다고 보고합니다. 이는 제안 문서로서는 이례적으로 구체적인 증거입니다. 다이어그램이 아니라 이름이 붙은 시스템과 보고된 구현이 존재합니다.
그 적용 범위 역시 똑같이 구체적으로 한정됩니다. 이 기록은 하나의 운영 환경에서의 프로토타입을 확립할 뿐입니다. 설치 현황 조사, 벤더 간 상호운용성 결과, 채택 수, 또는 모든 ARPANET 호스트가 PCP를 사용할 수 있었다는 증거는 제공하지 않습니다. RFC Editor는 현재 RFC 707을 Legacy로 분류하며 상태는 UNKNOWN입니다. Datatracker는 이 문서가 형식적 원본 기록보다 앞선 시기의 것으로, 오늘날 IETF 표준 절차에서 어떤 지위도 갖지 않는다고 명시합니다. 어느 표기도 1975년에 프로토타입이 얼마나 널리 쓰였는지는 알려주지 않습니다.
추상화 속에서도 거리는 남는다
RFC 707 자신의 경고가 이 설계 논증에서 가장 유용한 부분입니다. 로컬 프로시저 호출은 저렴하지만 원격 호출은 그렇지 않습니다. 원격 호출은 여전히 IPC 메시지를 사용합니다. 프로그래머는 신중함을 필요로 하고, 분산 프로그램은 비동기로 계속 진행될 수 있으며, 어떤 통신 패턴은 자연스럽게 프로시저가 아닐 수 있습니다. 이런 경우에는 하위 IPC 메커니즘이 접근 가능한 상태로 유지되어야 합니다.
이 단서는 흔한 역사적 과장을 막아줍니다. RFC 707은 네트워크가 로컬 기계처럼 동작하게 만들 수 있다고 주장하지 않았고, 이용 가능한 자료는 이것이 이후 RPC 시스템의 기원이 되었다는 사실을 확립하지도 않습니다. 이 문서가 기록하는 것은 더 좁은 실험입니다. 반복되는 요청-응답 메커니즘을 공유 런타임으로 옮기고, 그 아이디어를 TENEX에서 시험하며, 통신의 비용과 한계를 시야 안에 남겨둔 것입니다.
출처
- James E. White,RFC 707,A High-Level Framework for Network-Based Resource Sharing.
- RFC Editor,RFC 707 기록; IETF Datatracker,RFC 707 상태.
- RFC 542, FTP 명령 및 이름 변경 시퀀스;RFC 360, 원격 작업 항목 명령/응답 대화.
- RFC 592는 이전의 SRI 자원 공유 맥락입니다. Lu Heng의Note 65는 이후의 논평적 관점일 뿐이며, 1970년대 의도나 채택에 대한 증거가 아닙니다.
회원 브리핑
프로필 심층 컨텍스트
올바른 멤버십 등급으로 로그인하면 전체 브리핑과 출처 노트를 볼 수 있습니다.
Strategic Circle 전용
Strategic Circle
모든 독자에게 공개됩니다. 가입 후 로그인하면 프로필 브리핑를 열람할 수 있습니다.
Strategic Circle 가입하기Leadership Alliance 전용
Leadership Alliance
자격을 갖춘 IP 자산 소유자 및 운영진을 위한 콘텐츠입니다. 로그인하면 Leadership Alliance 브리핑을 열람할 수 있습니다.
Leadership Alliance 가입하기





