Sha256: 56e75db2f04afc633c8f0e25dd09f3e8f95a43ff08779851e21f8effe59f1b3c

Contents?: true

Size: 1.97 KB

Versions: 1

Compression:

Stored size: 1.97 KB

Contents

== Gettin started
First run
 > rake rdoc
and get reading 

== What this project is
* it's a proof-of-concept for a framework for distributed applications 

== What is will/can be

Possible Applications:
* Wiki (that cannot be shut down)
* XSLT
* DB-Server
* Searchengine
* DNS
* Forum
* computation credits
* different network-systems (Network gateways: make gnutella available where it can't be reached, e.g. a firewall )
* appsharer
* temp-space
* perma-space

"bittorrent" for applications
* the faster your pc - the faster your internet

== How Appswarm works


== Running the main app
 > ruby main.rb
Will start a single appswarm-node with all applications within app/*
You'll find a simple admin-interface on http://localhost:2000/admin and a *very simplified* blog on http://localhost:2000/blog

== Running a small swarm
 >ruby nettest.rb --count 4
This will start a small swarm of nodes on your localhost. You can access them via http on ports 2000 to 2003.

== Running specs
 >rake spec
Runs all the specs defined.

 >rake spec:network_node
Searches for **/spec_network_node.rb and runs it, if it exists

 >rake "spec:network_node:should process routes correctly"
Will run this example only.

== Plain Overview of current state
Directories:
* apps - hold all the applications currently installed
* data - holds the data of the applications
* lib - basic classes and functions to be used within applications

== Where appswarm should go

=== Data
there are several forms of data:
* 1) data that's used frequently and needed all over the net for basic functionality
* 2) app-dependent data, that's used strongly by single applications
* 3) data that's used infrequently and may be very large (mp3,movies, etc)

Then there are different levels of high-availability needed for this data

For these different kinds of data, we need different data-stores:
* 1) these should be spread as wide as possible over the net, maybe in a built-in directory-service.
* 2) may be stored in distributed databases (or tuplespaces)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appswarm-0.0.1 lib/appswarm/README.txt