Newcastle Connection
   HOME

TheInfoList



OR:

The Newcastle Connection (or UNIX United) was a software subsystem from the early 1980s that could be added to each of a set of interconnected UNIX-like systems to build a distributed system. The latter would be functionally indistinguishable, at both user- and system-level, from a conventional UNIX system. It became a forerunner of
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
'
Network File System Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like ...
(NFS). The name derives from the research group at
Newcastle University Newcastle University (legally the University of Newcastle upon Tyne) is a public research university based in Newcastle upon Tyne, England. It has overseas campuses in Singapore and Malaysia. The university is a red brick university and a mem ...
, under
Brian Randell Brian Randell (born 1936) is a British computer scientist, and emeritus professor at the School of Computing, Newcastle University, United Kingdom. He specialises in research into software fault tolerance and dependability, and is a noted ...
, which developed it. The term "UNIX United" describes the scheme of combining the overall filesystems of the participating UNIX machines; "Newcastle Connection" describes the underlying communication layer which enables this. A UNIX United system constructed with the Newcastle Connection is functionally indistinguishable from a centralised UNIX system at the system-call level. In essence, the concept of the "parent directory" was re-interpreted at the root of the filesystem, where it originally had no significant meaning, to mean "this directory is on a remote machine", similar to subsequent "
Super-root (Unix) In a computer file system, and primarily used in the Unix and Unix-like operating systems, the root directory is the first or top-most directory in a hierarchy. It can be likened to the trunk of a tree, as the starting point where all branche ...
" usage.


UNIX United

As a reminder, a typical single UNIX directory tree might resemble: * / ** home *** brian (current directory '.') **** a **** b UNIX United acts as an extra level above the / root. If the example machine is named "unix1", an overall UNIX United scheme with an additional second machine, "unix2", would look like: * /.. ** unix1 *** home **** brian (the current directory '.') ***** a ***** b ** unix2 *** home **** brian ***** b ***** c If we wish to copy file a from "unix1" to "unix2" to sit alongside files b and c, example equivalent commands might be: * cp /home/brian/a /../unix2/home/brian/a * cp a /../unix2/home/brian/a * ( cd /../unix2/home/brian ; cp /../unix1/home/brian/a a )


Internals

It required no changes to the UNIX kernel. Rather, it ran in user-space, using a modified version of the
C standard library The C standard library, sometimes referred to as libc, is the standard library for the C (programming language), C programming language, as specified in the ISO C standard.International Organization for Standardization, ISO/International Electrote ...
of its day which was capable of recognising these new semantics. To a first approximation this was to recognise pathnames beginning with "/..". A match would divert such a reference through to the new software, which then used
remote procedure call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared computer network), which is written as if it were a ...
s to the remote machine. All other pathnames would simply go through to the local kernel as usual. (If the current working directory was itself remote, this needed to be taken into account.) It did, however, require that all software intended to use it, including shells, the "cp" command, etc. needed to be re-linked with this new library. Continuing one of the previous examples, the "cp" command attempts, as expected, to open the two files: * open("a", ...) * open("/../unix2/home/brian/a", ...) Assuming the command has been relinked with the revised C-library, the first open() happens as normal on the local system. The second, however, is diverted into the "Newcastle Connection" software because of the filename's leading "/..".


Portability

The original implementation at Newcastle was for UNIX V7 on a set of
PDP-11 The PDP–11 is a series of 16-bit minicomputers originally sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of a ...
computers connected by a
Cambridge Ring The term Cambridge Ring could refer to: * The Cambridge Ring (computer network) technology developed at the university of Cambridge, England * The Cambridge Five espionage ring. * The inner ring-road of Cambridge, England England is a Co ...
network. Subsequent implementations added support for other versions of UNIX (including BSD 4.2 and
System V Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
), network technologies, protocols and hardware architecture (
VAX VAX (an acronym for virtual address extension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
,
Motorola 68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector ...
).


References

{{DEFAULTSORT:Newcastle Connection Network file systems Unix network-related software Application layer protocols Network file transfer protocols Distributed file systems