Open Source Technology & Distributed Computing

3-19-2008 This page is undergoing editing

Imagine your brain as a canister filled with ink.
Yeah, now think of your body as the pen where the ink resides.
Fuse the two: KAPOW! What are you now?
You're the human magic marker. Won't you please surprise my eyes.?
It's in your nature, you can paint whatever picture you like.
No matter what Ted Koppel says on Channel 4 tonight.
So modify this third rock from the sun.

Excerpted from "Redefine" by Incubus

Introduction -- What is Hangar18 ?

Hangar 18 is an attempt to develop Open Souce technology and solutions in the area of Distributed Computing. Our core technology base is built around Plan 9, Inferno, and Linux. However, we do not limit particpants to just these operating systems. We do not believe that any single OS will be the solution to all computing problems. There are two basic aspects to the way we organize our efforts and shared resources; small world networks and a tit-for-tat access policy.

Small World Networks

A small world network is a mathematical model of the way humans build their social networks. The basic idea is that while each person knows only a relatively small number of people, when we look at the people these people know we discover that the distance between any two persons isn't that great. This is aspect is known under a lot of names, "The Kevin Bacon Game" is a well known example. As research into this area has grown over the last few decades a much wider application for these models has been found. While small world networks are initially hard to setup they tend to be very robust and long lasting.

The particular approach that we pursue is to limit the number of connections between any two nodes in the Hangar 18 network within two broad goals.

  • Number of Connections Per Node

    We ask that any node have no more connections than the ln() of the total number of nodes.

  • Common Shared Connections

    We ask that no two nodes with a direct connection should share any other nodes in common. This prevents a lot of redundent connections. These can have two effects, they create a lot of parallel paths that complicate routing and they make the network as a whole more fragile to single points of failure.

Tit-for-Tat Access Policy

One of the biggest problems of shared resources is the Tragedy of the Commons. This is the situation where a few people hog all the resouces without providing a lot to the community in return. To avoid this we turn to Game Theory and a widely studied problem called The Prisoners Dilema. Without going into the details of what this means exactly we can summarize; if you want to access Hangar 18 resources then you must also provide Hangar 18 resources.

Where Will Distributed Computing Be Important?

Distributed computing wil have a great effect on the way we all use our computing resources. In particular issues of the user environment and how distributed computing can be made ubiquitous. This includes multi-player games, distributed real-time computing, shared media libraries, multi-media conferencing, mobile global sign-on, wireless and packet technology, cryptography and anonymity, digital cash, robotics, distributed multi-agent systems, etc.

The Power of Open Source

The Open Source movement is a little over 20 years old. It has done a great job at moving existing technology into areas that commercial applications would have a hard, if not impossible task at doing. It has also helped limit the impact of monopolizing commercial interest. This has had two effects. The first is keeping the availability of technology to the individual alive and well. This is important because it keeps innovation from being locked into a few small cadres of commercial effort. The second is to help control the market entry costs so that the resources needed for new commercial efforts is not too high. Both of these are important to keeping a free market society healthy. The impact of the GNU tools and Linux are primary examples. As a counter-example of how commercial approaches stifle innovation is the history of Plan 9 and its adoption by the computing community as a whole.

But this is only the beginning, one observation, some would say complaint, of Open Source is that it has not been as innovative as hoped. What does it mean to be 'innovative'? We believe this means to solve old problems in fundamentaly new ways and to discover and resolve new issues and tasks that weren't possible or had prohibitive costs under the traditional technology license approach.

Another aspect of Open Source is it's ability to keep technology available to all instead of bottling it up so that only a select few have the opportunity to understand and manipulate the fundamentals of that technology. This is one of the problems if conventional intellectual property approaches, it is inherently monopolizing. Unfortunately the vast majority of Open Source developers and users are not looking at new problems, they simply want to solve their existing problems for free. This is not the primary goals of Open Source as envisioned by Hangar 18. We hope to explore and develop fundamentally new approaches and at the same time create a intellectual property framework around them that will prevent monopolization.

What is it we're trying to do?

The primary goal of Hangar 18 is to develop a truly distributed computing infrastructure. This means global sign-on, distributed processing, a variety of resource name-spaces, layers of communications infra-structures that support various ranges of point-to-point communications, and hopefully much more.

The current goals are to create a multi-tiered public resource that has the following features:

  • Global Sign-on

    meaning that you take your laptop anywhere on the planet and if you can get a route back to your core authorization servers you have access to all your resources as if you were sitting at home. Contingent upon the base bandwidth of your connection of course.

  • Process Clouds

    Access to a processing cloud that allows seamless expansion of processing power as needs grow. This means that your computer is no longer that single box in front of you. That machine becomes a input/output processor that handles just the real-time interface. All processing takes place in a distributed cloud of machines which can be located anywhere on the planet. If one machine goes down the distributed namespace stores sufficient context or state to switch the process to other resources without intervention or even the user or process sponsor being aware that a switch has happened.

  • Process Namespaces

    A namespace, similar to a directory tree, that organizes resources around the planet. This means that you could have access to many terra bytes of storage as a regular resource. By mapping hardware as well as traditional file and program resources in this manner makes issues like multi-cast trivial. For example, you and your friends could mount your sound cards under your /dev directory and then cat your /dev/mic output to /dev/sb* and every participant would recieve the data flow automatically.

  • Security

    Security through the application of encryption technology at all levels, from the network infrastructure to file storage in the distributed namespace. One approach would be to break up all files into small pieces. Store those pieces in many locations in the global namespace blinded through an anonymizing layer so that those providing storage would not know what was actually being stored or even where. With a sufficiently large group of servers using parallel storage the concept of 'where a file is stored' becomes rather fuzzy. The social implications of non-censorable content are an open issue at this time.

  • Distributed Services

    A lot of current services and features on the Internet and within conventional operating systems rely on centralized authority or access. This is not a requirement but a convenience within the old model of resolving issues. We hope to create an environment with distributed services ranging from name resolution, which allows free form domain name creation, to anonymous free running search engines. Another extension of this goal is the install once, run everywhere model. The impact of such approaches to the bottem line of business is an uncharted territory.

  • Groupware Applications

    The impact of working in groups under distruted resource model will be immense. Music performance and gaming are obvious examples.

  • Wireless Networking

    The utility of wireless technology looks much more reasonable when looked at under this model, as compared to the traditional commercial approach. This means that a variety of wireless technologies can be used to create various 'layers' of connectivity in a community. One uses 802.11 a/b for short range line of sight connection; for example within a couple of blocks of your home. Then switch to 802.16 and 900MHz unlicensed radio for more mid-range connectivity; perhaps from 5 to 30 miles of your home. By judicous use of 'wireless bridging' technology this means that one could roam the city and stay in touch with your home network at all times. Thus one could still have connectivity to traditional resources through your home or personal services.

  • Emergency Services

    Emergency services would benefit from such a community infrastructure in time of crisis as the community would already have a social framework of sharing in place and the technology coupled with deep experience in how to use it.

  • Research and Education

    The applications of distributed computing and wireless technology are another area that is only beginning to be understood. The impact of distributed networked computing to fieldwork in a variety of industries will be revolutionary with regard to the cost of doing business and managing the impact on the community and the environment.

How To Participate ?

Participation is on a tit-for-tat basis. What this means is that in order for you to participate, you find someone already participating, and arrange an agreement to share resources. In other words, you gain access to the other participant's resources by providing resources of your own.

The primary contact mechanism is the Hangare 18 mailing list. This is how you find people to share resources with. It's also where notices of meetings and new resource availability are made.

We hope that you can make use of these resources and technology to meet your own goals. Your participation will help others as well. The goal is that this sharing of experience will change the world for the better.

The simplest way to participate is to start a local Hangar18 chapter, perhaps even putting up resources for your local community. We have weekly social meetings in Austin (usually at a restaurant), and other flexibly timed meetings for working on specific projects. While user groups often have large presentation format meetings, we also prefer small gatherings focused on hands-on projects, where everyone learns by working together.

Hangar 18 Participation How To

Projects

  • Current Mailing Lists

  • Plan 9 Snapshot (June 8, 2003)

    This document provided a skeleton for a talk to the Robot Group in Austin.

    Austin Robot Group Plan 9 Talk - Outline (.doc)

    A step-by-step guide on how to setup a basic Plan 9 I/O-Authorization server. The core to full participation in H18.

    A Gentle Introduction To Plan 9 - How to build a basic Hangar 18

    This is a short Plan 9 rc script that is needed for our intro.

    h18_lnksrc.rc

  • A Distributed Network of Computing and Communication Resources, shared on a tit-for-tat basis. The "tit for tat" part means that you get access in exchange for providing something; like getting a multi-course dinner party in exchange for bringing one dish to a pot-luck. This project that will provide the backbone for sharing information and computer resources on other projects We are using plan9 because it seems well suited to this and has exciting capabilities; we will not make a particular OS necessary to participate.

  • Open Air Optical Network, consisting of a laser emitter and a detector attached to the serial port of computers. The main goals were (in the near term) to refresh and teach ourselves about electronics, and (later) to provide more linkage into the Hangar18 network.

  • Community (Guerilla) Networking, consisting of a link between two or more Hangar18 nodes using 802.11a/b, 802.16, and 900MHz.

  • Distributed Gaming, the use of Squeak (Smalltalk) (or other systems) to allow users to create their own realtime, distributed gaming environments on Linux, Plan 9, and other operating systems.

  • Distributed Electronic Cash, an exploration of the applications of computer technology and economic (monetary) systems. This includes Chaumian Cash, Distributed Bearer Bonds, and similar efforts. The Cypherpunks are one non-professional group exploring these applications.

  • Distributed Databases of various types and uses. Automatically map wireless spectrum and update an online map everywhere you go; link many small CAD-equipped telescopes to look for asteroids; or anything else where there is benefit to the aggregation of numerous small amounts of data.

  • An Open Technology Laptop, taking advantage of recent advances such as low-power mini-itx motherboards to allow individuals to build laptop or PDA-like devices of their own design.

  • Distributed Autonomous Robotic Wars (DARWars): Intended to be a means to explore distributed computing applications in swarm computing, autonomous agents, wireless communication, and remote real-time control (waldo's and proxies).

References, Reading, and Background


Copyright 1983 - 2008 All rights reserved.

Permission to use components of this website for non-commercial use is granted.