[stci] Re: Architecture

  • From: Greg Watson <g.watson@xxxxxxxxxxxx>
  • To: stci@xxxxxxxxxxxxx
  • Date: Mon, 24 Sep 2007 22:03:30 -0400


On Sep 24, 2007, at 3:24 PM, Darius Buntinas wrote:



On 09/22/2007 09:35 PM, Greg Watson wrote:
I've added an alternate view of the architecture. It differs a bit from Darius's in the following ways:
1. A Front-end is another name for "tool".

Isn't "tool" the name for the collection of agents, plugins, and what I labeled as "user interface" in my diagram (and I think "front-end" in yours), which are used together to perform a task. I thought that whole thing was the "tool".

You're right. I thought this after I sent the email.


So in your diagram, the front-end is the user component (program) that "controls" and interacts with the streams, plugins, agents, etc.

And it looks like "controller" is similar to what is labeled as "front-end" in my diagram. When the front-end reconnects it would contact the controller first to initiate that.

The difference is that I don't think the controller would be involved in stream communication, only establishing the stream.


2. I see distinct APIs for sessions and streams. The session API communicates with one (or more) controllers, which are responsible for managing the infrastructure operation. The stream API is for sending messages to/from agents.

Sure, they would have separate APIs, but just to clarify, a stream is part of a session. You can't have a stream that's not associated with a session.

Agreed.


3. Agents are separate processes that typically run close to the application process (but may not if the architecture doesn't support it - they could run on an infrastructure node if required) The agent API is responsible for managing the agent if necessary.

Yes, that makes sense. There needn't be a router at the compute nodes, but perhaps some other persistent daemon to start the agent, or, possibly if it is started outside of stci, for the agent to make an initial connection to.

Maybe this would be the controller?


4. There is a separate control network for communication with infrastructure components.

Yes, I agree. The stci components would have to have a way to communicate with each other out-of-band.

I think this makes sense, I'll combine the diagrams.

Great!

Greg


Other related posts: