The Remote Update Protocol (RUP) — documents and history

RUP: a protocol for efficient updating of web search engines

In 1998 and 1999, with Pablo E. Martínez López (Fidel), I proposed a mechanism to stop web indexers from re-downloading whole sites merely to discover what had changed. A server already knows when its own files change; it should be able to say so, and a crawler should be able to fetch only what is new. The pages below are the surviving record. They are kept online unchanged, as evidence rather than as a live proposal.

The documents

What happened to it

On 10 May 1998 Patrik Fältström, then IETF Applications Area Director, reviewed the draft in the IESG and sent a detailed and constructive critique: the work overlapped the FIND working group, and rather than define a new protocol we should define objects as MIME types carried over any transport, explaining how this differed from CIP, SOIF and the W3C's RDF. He also raised URL matching, internationalisation and security at registration.

On 8 December 1998 we answered every point, accepted the MIME and SOIF encapsulation, and asked one question before resubmitting: what did he think of the new organisation we intended to adopt? The reply that came back was an automatic out-of-office message. There was no further correspondence.

The revised draft was written anyway, and it was sent in: on 16 April 1999 Pablo Martínez López submitted it to the RFC Editor, with the file attached, as an update to the 1998 draft. No reply ever came — from the same address that had answered the 1998 submission twice within hours — and there is no IETF record of it. This was not a rejection on the merits and nobody behaved badly — a volunteer reviewer was away for a fortnight, and after that carrying the work forward was simply nobody's job. In February 2001 the IETF's own WEBI working group independently opened draft-ietf-webi-rup-reqs, “Requirements for a Resource Update Protocol” — same acronym, same push-versus-poll diagnosis, aimed at caching proxies rather than crawlers. That expired too.

Implementations

Both were student projects at Paris 7 — Travaux d'Étude et de Recherche on the subject “indexation rapide du Web”, which I set for two years running. The protocol was built more than once. What never formed was anything to carry it further.

Copyright and licence for both implementations. RupJava is copyright © Yerom-David Bromberg; OCamlRup is copyright © 2001 Samuel Lasry and Xavier Patourel. Neither carries a licence and none is asserted here.

OCamlRup in detail. Copyright © 2001 Samuel Lasry and Xavier Patourel. They attached no licence to their code and none is asserted here: copyright remains theirs, and this copy is published as an archival record of their project, with attribution and without any claim of ownership or grant of rights. If you are one of the authors and would prefer it taken down, or would like to attach a licence to it, write to me and it will be done. The mimestring, netbuffer, netencoding, netstream, netstring_str and neturl modules are not theirs: they belong to Gerd Stolpmann's netstring package and carry its own permission notice, reproduced in the archive. The same information is in the PROVENANCE file inside the tarball.


Project members

This page is referenced from Good enough is not good enough, a series about why the open web is collected so badly and what it costs.