.TH INTRO 1 .SH NAME intro \- introduction to the Octopus .SH DESCRIPTION The .I octopus is a system built to achieve a distributed computing system by using a centralized one. The idea is that all the applications run at a single, central, computer. Users connect devices found in the Internet (probably attached to full-fledged computers) to their (remote) central computer, so that they do not have to carry hardware around, yet they see a single, homogeneous, reliable system. Even while using a distributed, heterogeneous, and dynamic environment. .PP The octopus inherits most ideas from Plan B and therefore from Plan 9 and Inferno. Thus, it would be appropriate to read the .IR intro (1) manual page from Inferno before proceeding with this one. See also .BR http://lsub.org/octopus . .PP The octopus mounts file systems across network links with bad latency, that is, links exhibiting RTT times from 50 to 120 milliseconds. Such links are used to connect devices (found in the Internet) to the central PC. .PP A machine providing one or more devices to the central computer is known as a .IR terminal . The central computer is known as the .I "personal computer" or the .IR PC , and provides a central name space to .IR terminals . Both the .I PC and .I terminals run .I "file servers" to provide services to be mounted on the other end of the link. Terminals and PCs cooperate using the .I Op file protocol, described in section .I O of this manual. .PP Usually, two (network) connections are set up between the .I PC and a .I terminal in the octopus. In one of them, the .I PC is a .I client (for terminal devices) and the .I terminal is a .IR server . In the other, the roles are exchanged. But note that for the octopus implementation in Inferno, Styx is used within the central computer, and also within any terminal using Inferno. However, servers in the terminal speaking to clients in the central computer do so using .IR Op , and the same happens for exporting the central computer name space to terminal devices. .PP The computing environment as seen by the user is that of the central computer. In the current implementation, it would be an Inferno computing environment or perhaps a Plan B computing environment. It depends on which machine is designated as the central computer and which software does it run. .PP The central computer is implemented by an Inferno system running the .B o/pcrc start-up script, described in .IR pcrc (1). This script starts listeners providing network services expected at the PC, and makes the PC able to import terminal devices and to export a central name space. The central comptuer adapts to changes in device availability. This way, the central name space changes depending on the set of devices available and the name space as configured by the user. See .IR mux (4) and .IR netget (1) for a description of what this means. .PP A terminal in the present implementation is an Inferno system running the .B o/termrc start-up script. But note that any machine following the conventions for terminals would be a terminal. In particular, a machine exporting through .I Op one or more devices would be a perfect terminal. User I/O happens at terminals, the central computer runs applications instead. .PP In the implementation for Inferno, .B /dis/o contains portable (Dis) binaries for the octopus. This manual includes just those manual pages that must be added to an Inferno user's manual to convert it to an Octopus user's manual. Section 1 describes commands implemented for the octopus, section 2 describes Limbo modules for the octopus, section 4 describes file servers, and section O describes the file protocol used to glue the system together. But note that usually, all file servers in the octopus are Styx (i.e., Inferno) file servers. Only .IR oxport (4) and .IR ofs (4) need to speak Op, when Inferno is being used on both terminals and the PC. .SH SEE ALSO .IR intro (O), .BR http://lsub.org/octopus , and various papers mentioned there. .SH BUGS Just born, still evolving.