Changes To Experiment: Routing Protocol Implementation v01
Not logged in

Changes to "Experiment: Routing Protocol Implementation v01" between 2016-12-10 03:06:35 and 2016-12-10 03:37:31

     4      4   Specification Version 1.0</a> and its sub-specification, the&nbsp;</p>
     5      5   
     6      6   <p><a href="http://longterm.softf1.com/specifications/lightmsgp/v2/">LightMSGP_v2</a>.</p>
     7      7   
     8      8   <p><br>
     9      9   </p>
    10     10   
    11         -<p><br>
    12         -</p>
           11  +<h1>Overview</h1>
           12  +
           13  +<p>Agents are operating system users that have their $HOME mounted to RAM file
           14  +system. The $HOME of an agent is cleared at the end of every session by a
           15  +special cleaner agent. At startup an agent might not be initialized from
           16  +scratch, but it might be loaded from RAM-disk by reading in Ruby VM dump <i>(the
           17  +<a href="https://ruby-doc.org/core-2.3.0/Marshal.html">Marshal module</a>)</i>.
           18  +Persistence (database, file storage, etc.) is handled by a custom-built special
           19  +agent that gives randomly generated access passwords <i>(cleartext)</i> only to
           20  +agent-god. Agent-god is an agent that kills and creates agents. Agent-god gets
           21  +the persistence agent access key, creates a new code-running agent, gives the
           22  +gives the persistence agent access key to the code-running agent only once and
           23  +if the code-running agent asks the key twice, the agent-god kills the
           24  +code-running agent, cleans its home folder, logs the incident. The idea is that
           25  +if the code-running agent is allowed to ask the persistence key only once, then
           26  +either only the trusted part of the code-running agent code gets it or the
           27  +agent gets killed. If the untrusted code region of the code-running agent asks
           28  +the key first, then it gets it and has access to the data that it should not
           29  +have. An idea is to start the agent by giving the access key as a console
           30  +parameter and have the trusted part of the code-running agent negotiate a new
           31  +access key with the persistence agent before the untrusted code is dynamically
           32  +loaded.&nbsp;</p>
    13     33   
    14     34   <p><br>
    15     35   </p>
           36  +
           37  +<p>The trusted part of the code-running agents, their boot-up, and the
           38  +Agent-god and the persistence agent communication module should be written in
           39  +ParaSail. A gateways to the internet, hardware, essentially singletons, have
           40  +the same front-end as the persistence agents have. The routing calculation
           41  +ParaSail code is a separate module, which might be linked with the persistence
           42  +agent's agent interface.</p>
    16     43   
    17     44   <p><br>
    18     45   </p>