Tumbler (Project Xanadu)

From Wikipedia, the free encyclopedia

In the design of the Xanadu computer system, a tumbler is an address of any range of content or link or a set of ranges or links. According to Gary Wolf in Wired, the idea of tumblers was that "the address would not only point the reader to the correct machine, it would also indicate the author of the document, the version of the document, the correct span of bytes, and the links associated with these bytes." Tumblers were created by Roger Gregory and Mark Miller.[1][2]

They were used in the Xanadu FEBE (Front End - Back End) protocol in a manner similar to the use of URIs between web browsers and servers.

Concept and implementation[edit]

The idea behind tumblers comes from transfinite numbers.[1] A tumbler is a unique numerical address of any interesting artifact. It resembles an IP address, but is much larger and has much more detailed structure. The structure looks like this.

1. < node >.0. < user >.0. < document >.0. < element >

The leading "1." is used in order to mark the start of a new address. The individual fields of the address are divided with ".0." so that they can be arbitrarily long. Each < element > has the format "n. n. ... . n", a hierarchy of subaddresses.

The last element denotes the type of data the tumbler refers to, for example:

  1. Text/Bytes
  2. Links
  3. Bitmaps etc.
Address area Tumbler Address Comment
Node 1.2368.792.6 This is the computer with the number 2368.792.6
User 1.2368.792.6.0.6974.383.1988.352 This is user 6974.383.1988.352 on the above computer.
Document 1.2368.792.6.0.6974.383.1988.352.0.75 The user's document number 75.
Version 1.2368.792.6.0.6974.383.1988.352.0.75.2 Version 2 of the document.

The 9287th byte of this version of the document would be 1.2368.792.6.0.6974.383.1988.352. and the 356th link would be 0.2.356 on the end instead.

A tumbler can be issued only once and never changes. The type of structure can grow at will, so the address space is infinite.

Nelson also introduces the concepts of direction and a "span", which is a part of a document that is semantically meaningful for the document. For example, one can speak of "2 chapters back" or "300 bytes forward".

See also[edit]


  1. ^ a b Wolf, Gary (1 Jun 1995). "The Curse of Xanadu". Wired. Retrieved 25 December 2015.
  2. ^ Theodor Holm Nelson (December 1999). "Xanalogical Structure. Needed Now More than Ever: Parallel Documents, Deep Links to Content, Deep Versioning, and Deep Re-Use". ACM Computing Surveys. 31 (4): 33–es. CiteSeerX doi:10.1145/345966.346033.

External links[edit]