From: Tomas Hlavaty <hlavaty@labe.felk.cvut.cz>
Subject: Re: Client connected to two servers in Glade
Date: Wed, 23 Jan 2002 20:31:21 +0100
Date: 2002-01-23T20:31:21+01:00 [thread overview]
Message-ID: <3C4F0F89.848BA2C0@labe.felk.cvut.cz> (raw)
In-Reply-To: u1ygii2sn.fsf@wanadoo.fr
Pascal Obry wrote:
>
> Tomas Hlavaty <hlavaty@labe.felk.cvut.cz> writes:
>
> > Maybe, the problem lies in that I have two RCI partitions which are the
> > same, i.e. they provide the same services. So I can't write
> >
> > ...
> > Partition_A, Partition_B : Partition
> >
> > for Partition_A'Host use "this.that.there"
> > for Partition_B'Host use "some.where.else"
> >
> > procedure Server_A is in Partition_A;
> > procedure Server_B is in Partition_B;
> > ...
> >
> > as Frank suggests.
> >
> > The situation is as follows:
> >
> > +-------------+ +-------------+ +-------------+
> > +-------------+
> > | Machine_A1 | | Machine_A2 | | Machine_A3 | ... | Machine_An
> > |
> > | Partition_1 | | Partition_1 | | Partition_1 | | Partition_1
> > |
> > +---------+---+ +---+-----+---+ +-------------+
> > +---+---------+
> > | | | |
> > \-----+-----/ \-----+---------------------------/
> > | |
> > +------+------+ +------+------+
> > | Machine_B1 | | Machine_B2 | ...
> > | Partition_2 | | Partition_2 |
> > +-------------+ +-------------+
> >
> > where Partition_1 is a program collecting data from somewhere (not
> > interesting) that is executed on Machine_Ai as a daemon. Partition_2 is
> > a program simultaneously displaying data collected by any two
> > Partitions_1. A user specify Machine_Aj and Machine_Ak dynamically when
> > he wants to execute a Partition_2 on Machine_Bl.
> >
> > Isn't it to complicated? May be there is something wrong in the
> > structure of the distributed system. Should it be partitioned in a
> > different way?
>
> Yes. What you described is not achievable with RCI. It is just not possible to
> have 2 instances of the same RCI on the distributed application. You should
> definitely have a look at the RACW. This will make this architecture possible.
>
> In short:
>
> - create a partation "Manager" that will server as a name server.
>
> - create Partition_1 as a RACW partition, each one will register to the
> manager with a specific name (string)
>
> - Partition_2 will request 2 Partition_1 using the name server.
>
> This is a short description I agree. Have a look at the GLADE bank example
> which is somehow similar. And be sure to read the documentation, as you seem
> quite confused it could be possible that you have just skipped this step :)
Thanks. That's a solution.
But the partition manager (main/boot partition) is a strong centralised
element which is the bottleneck of the system. All partitions would have
the partition manager as a boot server. Several problems arises then:
What about unreliable communication channels? Where should it be
located?... I think the situation wouldn't be better by using mirror
boot servers. Maybe I'm too interested in low-level details, but such
questions are important for our application: it is an industrial
application which should be tolerant to connection errors with distant
Partitions_1. Is it possible to split the system, restrict dependencies
and not to build one complex distributed system for all Partitions_1?
I'd like to find a solution using Glade first, because the current
implementation is in it and it saves a lot of work. The current
implementations is standard client/server application. But our customer
changed its specification and he wants to see data from at least two
Partitions_1 simultaneously in one window.
E.g. using sockets it is possible to have a client connected to two
servers. The connection is established only by knowing "host:port" for
each server. In Glade, the client have to connect to a boot server and
then get a link to the other server through an access-to-?-type. But it
leads to building very dependent systems. Could you suggest another
solution?
Thanks a lot, its very instructive discussion for me.
Tomas
P.S.: We use GNAT 3.13 on Linux (RT for Machine_Ai)...
next prev parent reply other threads:[~2002-01-23 19:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-16 10:26 Client connected to two servers in Glade Tomas Hlavaty
2002-01-16 18:05 ` Pascal Obry
2002-01-18 17:11 ` Tomas Hlavaty
2002-01-18 17:47 ` Frank
2002-01-18 17:48 ` Pascal Obry
2002-01-22 14:49 ` Tomas Hlavaty
2002-01-22 19:49 ` Pascal Obry
2002-01-22 21:27 ` Frank
2002-01-22 22:17 ` Pascal Obry
2002-01-22 22:23 ` Michal Nowak
2002-01-23 19:31 ` Tomas Hlavaty [this message]
2002-01-23 20:14 ` Frank
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox