Кратко

  • Джеймс Э. Уайт предложил в RFC 707 общий протокол вызова процедур и среду выполнения, чтобы сократить повторение команд и ответов в прикладных протоколах ARPANET.
  • В документе описан прототип для PDP-10 под TENEX, но также сказано, что удалённые вызовы требуют межпроцессных сообщений, стоят дороже локальных и не описывают все полезные формы связи.

Сколько диалога скрыто в одной операции

Переименование файла выглядит как одно действие. Однако спецификация FTP 1973 года требовала сначала отправить RENAME FROM, а затем RENAME TO. Приложение должно было управлять последовательностью команд и ответов, а не только самим намерением пользователя. В Remote Job Entry существовал иной поток команд и ответов; сервер мог сообщать о ходе работы, пока задание продолжалось. Каждое приложение заново описывало собственный способ вести такую беседу.

RFC 707, A High-Level Framework for Network-Based Resource Sharing, предложил вынести повторяющуюся механику в общий слой. Джеймс Э. Уайт из Augmentation Research Center при Stanford Research Institute (SRI) хотел, чтобы программу можно было описать как процедуру с аргументами, а не как новую грамматику команд для каждой услуги. Речь шла об унификации интерфейса, а не об отказе от сетевых сообщений.

Общая форма поверх межпроцессной связи

Предложенный Procedure Call Protocol (PCP) использовал пары сообщений CALL и RETURN, идентификаторы транзакций, аргументы и результаты. Он допускал несколько незавершённых запросов одновременно. Среда выполнения на каждой установке должна была подготовить вызов, обменяться данными с удалённой стороной и вернуть результат программе. В документе рассматривались блокирующие и неблокирующие вызовы, а также обратный вызов от сервера к клиенту.

Такой слой менял то, как разработчик формулировал задачу; под ним всё ещё передавались сообщения IPC. Распределённая программа могла продолжать работу асинхронно, а не всякое сетевое взаимодействие удобно представлять как вызов процедуры. Поэтому RFC 707 оставлял доступ к межпроцессной связи более низкого уровня.

Что говорит пример с TENEX

Документ сообщает, что исследования ARC начались в июле 1974 года, прошли три итерации проектирования за двенадцать месяцев и завершились созданием, документированием и реализацией прототипа среды выполнения для PDP-10 под TENEX. Авторы также утверждали, что TENEX-реализация соответствовала спецификации и включала больше возможностей, чем описано в тексте и приложениях.

Это конкретное свидетельство реализации в названной среде, а не только схема на бумаге. Но оно не показывает число установок, совместимость разных систем или распространение по всей ARPANET. Сегодня RFC Editor помечает RFC 707 как Legacy со статусом UNKNOWN; Datatracker уточняет, что документ появился до формальной регистрации источников и не имеет формального положения в современном процессе стандартов IETF. Эти нынешние метки не дают статистики применения в 1970-х.

Локальная метафора имеет сетевую цену

RFC 707 сам предостерегал от слишком буквального прочтения интерфейса: локальные вызовы процедур дёшевы, удалённые требуют сообщений IPC. Разработчики должны выбирать модель осознанно. Распределённые программы работают асинхронно; некоторые полезные обмены не укладываются в форму «вызов — возврат». Удобная оболочка не отменяет ожидания ответа и отказа удалённого узла.

Исторический вывод ограничен тем, что действительно сообщает источник: RFC 707 объединил повторяющиеся прикладные диалоги в проект общего протокола, а затем описал прототип TENEX. Доступные материалы не доказывают массового внедрения или прямого влияния на более поздние системы RPC. Важна именно поставленная автором граница между ясным интерфейсом и фактической стоимостью сетевого взаимодействия.

Источники

  • James E. White, RFC 707, A High-Level Framework for Network-Based Resource Sharing.
  • Запись RFC 707 в RFC Editor; запись RFC 707 в IETF Datatracker.
  • RFC 542: команды FTP и порядок переименования; RFC 360: диалог команд и ответов Remote Job Entry.
  • RFC 592 даёт ранний контекст дискуссий SRI об обмене ресурсами; более поздняя Note 65 Хэнга Лу служит только редакционной оптикой, а не доказательством замысла или распространения в 1970-х.