README.md in cuboid-0.0.5 vs README.md in cuboid-0.1.0

- old
+ new

@@ -8,12 +8,12 @@ In hipper terms, you can very easily setup your own specialized _Cloud_ or _Cloud_ within a _Cloud_. It offers: -* Load-balancing of _**Instances**_ via a software mesh network (_**Grid**_) of _**Dispatchers**_. - * No need to setup a topology manually, _**Dispatchers**_ will reach +* Load-balancing of _**Instances**_ via a network (_**Grid**_) of _**Agents**_. + * No need to setup a topology manually, _**Agents**_ will reach convergence on their own, just point them to an existing _**Grid**_ member. * Scaling up and down can be easily achieved by _plugging_ or _unplugging_ nodes. * Horizontal (`default`) and vertical workload distribution strategies available. * Fault tolerant -- one application per process (_**Instance**_). * Self-healing -- keeps an eye out for disappearing and also re-appearing members. @@ -56,11 +56,11 @@ * `:abort` * `:suspend` * `:restore` * `instance_service_for( Symbol, Class )` -- Adds a custom _**Instance**_ RPC API. * `rest_service_for( Symbol, Module )` -- Hooks-up to the _**REST**_ service to provide a custom REST API. - * `dispatcher_service_for( Symbol, Class )` -- Hooks-up to the _**Dispatcher**_ to provide a custom RPC API. + * `agent_service_for( Symbol, Class )` -- Hooks-up to the _**Agent**_ to provide a custom RPC API. * `serialize_with( Module )` -- A serializer to be used for: * `#options` * `Report#data` * `Runtime` `Snapshot` @@ -82,35 +82,35 @@ This is in order to enforce isolation (_state_, _data_, _fault_) between _**Applications**_, take advantage of _OS_ task management and generally keep things simple. -### Dispatcher +### Agent -A _**Dispatcher**_ is a server which awaits for _**Instance**_ spawn requests -(`dispatch` calls) upon which it spawns and passes the _**Instance**_'s +A _**Agent**_ is a server which awaits for _**Instance**_ spawn requests +(`spawn` calls) upon which it spawns and passes the _**Instance**_'s connection info to the client. The client can then proceed to use the _**Instance**_ to run and generally manage the contained _**Application**_. #### Grid -A _**Dispatcher**_ _**Grid**_ is a software mesh network of _**Dispatcher**_ +A _**Agent**_ _**Grid**_ is a software mesh network of _**Agent**_ servers, aimed towards providing automated _load-balancing_ based on available system resources and each _**Application**_'s provisioning configuration. No _topology_ needs to be specified, the only configuration necessary is providing any existing _**Grid**_ member upon start-up and the rest will be sorted out automatically. The network is _self-healing_ and will monitor _node_ connectivity, taking steps -to ensure that neither server nor network conditions will disrupt dispatching. +to ensure that neither server nor network conditions will disrupt spawning. ##### Scalability -_**Dispatchers**_ can be easily _plugged_ to or _unplugged_ from the _**Grid**_ +_**Agents**_ can be easily _plugged_ to or _unplugged_ from the _**Grid**_ to scale up or down as necessary. _Plugging_ happens at boot-time and _unplugging_ can take place via the available _APIs_. @@ -123,16 +123,16 @@ 3. Pops options and passes them to spawned _**Instances**_. 4. Monitors _**Instance**_ progress. 5. Upon _**Application**_ completion stores report to disk. 6. Shuts down the _**Instance**_. -#### Dispatcher +#### Agent -The _**Scheduler**_ can be configured with a _**Dispatcher**_, upon which case, +The _**Scheduler**_ can be configured with a _**Agent**_, upon which case, it will use it to spawn _**Instances**_. -If the _**Dispatcher**_ is a _**Grid**_ member then the _**Scheduler**_ will +If the _**Agent**_ is a _**Grid**_ member then the _**Scheduler**_ will also enjoy _load-balancing_ features. ## APIs ### Local @@ -152,10 +152,10 @@ ### REST A REST API is also available, taking advantage of HTTP sessions to make progress tracking easier. -The REST interface is basically a web _**Dispatcher**_ and centralised point of +The REST interface is basically a web _**Agent**_ and centralised point of management for the rest of the entities. Each _**Application**_ can extend upon this and expose an API via its _**REST**_ service's interface.