Re: Updated architecture

Randall Stewart <[email protected]> Wed, 29 Mar 2006 20:06:21 -0500
Newsgroups gmane.ietf.rserpool
Message-ID <[email protected]>
Ok,

Let me try sending this again since I first had
to unsubscribe my old domain name.. and re-subscribe
my new one (even though they still lead to the same place :-D)

....

Randall Stewart wrote:
> Hi all:
> 
> I just submitted draft-11 of the architecture.. the main
> changes are the addtions of this in the intro section:
> 999999999999999999999999999999999999999999999999999999999999999999
> 1.1.  The Problem Space
> 
>    Fault tolerance is a difficult and challenging problem space.  Most
>    of the solutions in this space involve an extensive effort on the
>    part of an application programmer and oftentimes the result is a
>    proprietary solution.  There are a number of issues concerning
>    developers of fault tolerant applications including:
> 
>    1.  How to find a server that provides the service desired?
> 
>    2.  If the server that is providing me the service dies, how do I
>        find another one?
> 
>    3.  What type of redundancy model will I use, 2N or N+K?
> 
>    4.  How does a server providing a service share state with potential
>        peer servers in case of a failure?
> 
>    5.  How does a server assure that when it fails (or dies), the
>        clients will access the "best" server that is able to handle the
>        failure (or if you will take over for the departed server)?
> 
>    6.  From an operations and maintenance standpoint how do we add or
>        subtract capacity dynamically without reconfiguring our network?
> 
>    A fault tolerant application needs to deal with these issues and many
>    more.  Often an application is developed and then later, it is
>    realized that the application needs to be fault tolerant.  The
>    response to this new requirement mandates either a hack or re-write
>    of the application.
> 
>    So how can application writers solves these issues and makes it easy
>    for the application designer to add fault tolerance without hacking
>    or rewriting the application code?  We use layering to solve this
>    problem.  A session layer is inserted below the application layer to
>    provide a framework for fault tolerance.  This removes some of the
>    complexity from the application writers hands thus freeing the
>    application writter to concentrate on the application.  Note that not
>    all of the issues listed above can be solved by the session layer
>    framework alone, in particular the application will still need to
>    deal with state sharing, however the session layer framework will
>    also provide small tools when it can to help make even this job
>    easier for the application writer.
> 
>    A second important point is that this layering no longer requires
>    each application to custom programmed for fault tolerance.  By
> 
> 
> 
> Tuexen, et al.         Expires September 30, 2006               [Page 3]
> 
> Internet-Draft            RSerPool Architecture               March 2006
> 
> 
>    running an application on top of the session layer fault tolerant
>    services, there is no longer the need to design and implement fault
>    tolerance one application at a time.  There are several benefits to
>    this approach:
> 
>    1.  Time and cost savings for the developers of the application
> 
>    2.  Experts in the area have developed the session layer fault
>        tolerance mechanism
> 
>    3.  An application can be developed without a fault tolerant
>        requirement and later in the life cycle, if this requirement
>        emerges, it can be met with Rserpool without a costly redesign.
> 
>    4.  Rserpool provides a set of APIs and hooks for the application
>        developer to implement fault tolerance
> 
>    5.  Rserpool provides a simple building block to the application for
>        rudimentary state sharing.
> 
>    The above summary is the overall goal of Rserpool.  We strive to
>    remove the details and complexity of fault tolerance from the
>    application writer and, when the session layer cannot solve the issue
>    (such as state sharing), give the application writer some small
>    building blocks on which they can solve the problem with minimal
>    effort.
> 
>    In this document you will be introduced to a set of concepts for
>    solving a number of these problems.  Often times the document will
>    refer to a named element (e.g Pool User) in the architecture sending
>    or receiving a message.  When seeing this, please note that this is
>    NOT the application sending or receiving the query, but the session
>    layer below.  Envision if you will the application opening up a
>    special form of socket.  This socket will allow reading and writing
>    of data, but underneath will have special properties that allow it to
>    send and receive additional messages when the upper layer user
>    requests some service such as sending a message or binding a name.
>    Note again, the goal of RSERPOOL is NOT to solve all of the problems,
>    but to instead solve a subset of the fault tolerant issues and at the
>    same time provide a toolkit of standard utilities that will help an
>    application solve the remaining items in an easier way.
> 
> 1.2.  Overview
> 9999999999999999999999999999999999999999999999999999999999999999999999
> 
> 
> This, as discussed at the wg meeting, gives a better understanding (I
> think) to the reader as to what we are up to.
> 
> I also fixed a few typos and such.. but most of the rest of
> the document stayed the same... I did take out
> one extraneous paragraph.. that did not belong... but all in
> all the above is the main changes..
> 
> Comments would be welcome before I send this off to Fred...
> 
> R


-- 
Randall Stewart
803-345-0369 <or> 815-342-5222(cell)