[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20030922: Request for information re: LDM



Janet,

>Date: Mon, 22 Sep 2003 14:09:05 -0600
>From: "Janet S Gibson" <address@hidden>
>Organization: NOAA
>To: Steve Emmerson <address@hidden>
>Subject: Re: 20030922: Request for information re: LDM

The above message contained the following:

> Thanks again for the information and your patience.  It sounds like
> LDM is a powerful system and a really good/dependable product which a
> lot of people use regularly.  Kevin at NSSL had very good things to
> say about his experience with LDM.  Just a few more questions and I
> promise I'll leave you alone.

Your questions are not a problem.  Please feel free to continue asking
them.

> 1. What do you mean by async/sync?  The callback's in Java don't wait
> for data...plus they're multi-threaded.  Would you still characterize
> the behavior to be synchronous?  I don't understand why RMI would be
> considered synchronous.

Java RMI implements a kind of remote procedure call (RPC).  In a 
synchronous RPC-call, the initiator of the call waits for a reply from 
the receiver of the call before the initiator moves on to something
else.  This is done so that the receiver of the call can indicate
whether or not an error occurred in processing the call.

In an asynchronous RPC-call, the initiator of the call doesn't wait for
a reply and errors must be handled by another mechanism.

I belive Java RMI is synchronous in this respect.

> 2. Since you use stdin how do you handle multiple data sources in the same
> process?

I'm not sure what you mean.  Every decoder is designed to handle a
particular type of data-product and the LDM ensures that all
data-products of a particular type are written sequentially to the
relevant decoder.  It wouldn't make sense to have two decoders handling
the same type of data-product.

There could be a situation in which multiple instances of the same
decoder were used for disjoint sets of data products.  One would have to
ensure in the LDM configuration-file that data-products went to the
right decoder instance.

> 3. If I were to put a Java decoder (with RPC) on a windows box, could
> I then interface with the LDM server?  Or put another way do you need
> LDM on a box before using the Java RPC solution (can the clients be
> run on a straight Windows box)?

Decoders aren't intended to receive their data-products via RPC.  They
are intended to read their data-products from standard input.  When an
LDM system receives a data-product, it looks up the type of the
data-product in a configuration table and pipes the data-product to the
indicated decoder.  Consequently, data-product decoders need to run on
the same computer on which the LDM runs.

I can imagine a Java-based decoder running on the UNIX system that runs
the LDM that reads data-products from standard input and disposes of
those data-products by sending them via Java RMI to a nearby Windows
system.  Perhaps this is relevant?

Regards,
Steve Emmerson