Distributed Ada, robustness etc.



Up until now, I have been using fairly elementary Annex E features
with GNAT/GLADE on Linux.

I have a client/server model, where the clients are uncategorized
units each in their own partition, and may be multiply invoked. The
one server is in a Remote_Call_Interface unit, and is invoked once
when the application starts.

I have a couple of problems:

1) I need to use multiple servers partitions now. (spec change!)
2) If the server node or partition fails, the application fails.

I understand that a partition with RCI units can only be invoked once
and cannot be restarted. This is a single point of failure :(
For flexibility and reliability, I think I have to avoid RCI units.

If I changed the RCI unit into an RT unit, each partition would get
its own instantiation. This is prohibited since the server has
to access a single, common resource.

If I changed the server RCI into a normal unit, I could invoke it once
when starting up. If the partition or node failed, it could be
restarted. But how could I call the server in one partition from
another? This is just like the example in ARM E.4.2. This uses
an RCI as a name server, holding accesses to class-wide abstract
tagged limited private type. This would solve (1), because I
could invoke multiple servers (each with their own single common
resource). But it wouldn't solve (2) because there would still
be a single point of failure in the RCI of the name server.

Is it possible to achieve full redundancy/restartability in a
distributed application with a client/server architecture using
Annex E?

One basis for a solution would be if the servers could broadcast
their registration to all the interested partitions. But I don't
see any facility to "broadcast" in Annex E. And I don't find
anything for enumerating active partitions in an application.
Can this be done? Basically, it is the "access value" for the
server that the client needs before they can connect, but this
can only be communicated through a "third party" known to
both units.

On a related topic, Are there any facilities in Annex E which result
in partitions being instantiated dynamically? At the moment, I start
multiple instances of a partition manually (from a shell).

For the moment, I will have to use the "name server" approach
of E.4.2. But as an application increases in scale and utility,
it becomes increasingly important to maintain robustness.

Annex E is amazingly easy to use, considering the power and
flexibility it has (is it still Annex E in the new standard?).
But it does seem to have its limitations. I haven't looked
into any of the alternatives. I still haven't studied
PolyORB to see what extra capability this might have.

Any thoughts?
--
Adrian

.



Relevant Pages

  • Re: Rebuilding SBS Server 2003 SP2
    ... issues with exchange system manager because the SSL server name ... figured a rebuild was the perfect time to investigate these (chuck more RAM ... lot with re-installs but havent a clue with partition sizes with SBS, ...
    (microsoft.public.windows.server.sbs)
  • Software Raid for clones
    ... Personally I inherited this E6750 ASUS motherboard and wanted thought I'd build a nice server for general use. ... I added 4 SATA 250 Gb disc drives and after reading about the horrors & failures of the cheapie Raid controllers, I decided to try Linux software raid. ... I got a message from every MD partition that there were not ... Disk partitions and LVM limits ...
    (RedHat)
  • Re: SBS2003 Partitioning
    ... sell a server to a customer to maximise billing hours. ... I realise that capacity is all down to the business that you are selling to ... just makes our experiences different. ... If the partition is on the same set of spindles then I could care ...
    (microsoft.public.windows.server.sbs)
  • Re: Is it possible to redirect the default user shares?
    ... The server is a rack mounted HP ProLiant ML 350 G4 and the integrated NIC ... I understand most people thatr design a server around W2k3 SBS Premium start ... OS partition and only a single additional partition if the underlying drive ... RAID1+RAID5) it may be worthwhile putting the shadowcopies from one array on ...
    (microsoft.public.windows.server.sbs)
  • RE: use of base image / delta image for automated recovery from a ttacks
    ... base disk image shared by multiple virtual machine instances. ... your basic web application might have a web server ... partition and the changeable datafiles on another partition. ... Apache to install a trojan or a backdoor on the more exposed web server. ...
    (SecProg)